/*************************************************************************
 *
 *   file		: Constants.cs
 *   copyright		: (C) The WCell Team
 *   email		: info@wcell.org
 *   last changed	: $LastChangedDate: 2008-06-14 19:08:24 +0800 (Sat, 14 Jun 2008) $
 
 *   revision		: $Rev: 497 $
 *
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *************************************************************************/

namespace WCell.Constants
{
	/// <summary>
	/// Auth Packet Opcodes
	/// </summary>
	public enum AuthServerOpCode : byte
	{
		AUTH_LOGON_CHALLENGE = 0x00,
		AUTH_LOGON_PROOF = 0x01,
		AUTH_RECONNECT_CHALLENGE = 0x02,
		AUTH_RECONNECT_PROOF = 0x03,
		REALM_LIST = 0x10,
		XFER_INITIATE = 0x30,
		XFER_DATA = 0x31,
		XFER_ACCEPT = 0x32,
		XFER_RESUME = 0x33,
		XFER_CANCEL = 0x34,
		Maximum = 100,

		Unknown = byte.MaxValue,
	}

	/// <summary>
	/// World Packet Opcodes
	/// </summary>
	public enum RealmServerOpCode : uint
	{
		MSG_NULL_ACTION = 0,
		CMSG_BOOTME = 1,
		CMSG_DBLOOKUP = 2,
		SMSG_DBLOOKUP = 3,
		CMSG_QUERY_OBJECT_POSITION = 4,
		SMSG_QUERY_OBJECT_POSITION = 5,
		CMSG_QUERY_OBJECT_ROTATION = 6,
		SMSG_QUERY_OBJECT_ROTATION = 7,
		CMSG_WORLD_TELEPORT = 8,
		CMSG_TELEPORT_TO_UNIT = 9,
		CMSG_ZONE_MAP = 10,
		SMSG_ZONE_MAP = 11,
		CMSG_DEBUG_CHANGECELLZONE = 12,
		CMSG_MOVE_CHARACTER_CHEAT = 13,
		SMSG_MOVE_CHARACTER_CHEAT = 14,
		CMSG_RECHARGE = 15,
		CMSG_LEARN_SPELL = 16,
		CMSG_CREATEMONSTER = 17,
		CMSG_DESTROYMONSTER = 18,
		CMSG_CREATEITEM = 19,
		CMSG_CREATEGAMEOBJECT = 20,
		SMSG_CHECK_FOR_BOTS = 21,
		CMSG_MAKEMONSTERATTACKGUID = 22,
		CMSG_BOT_DETECTED2 = 23,
		CMSG_FORCEACTION = 24,
		CMSG_FORCEACTIONONOTHER = 25,
		CMSG_FORCEACTIONSHOW = 26,
		SMSG_FORCEACTIONSHOW = 27,
		CMSG_PETGODMODE = 28,
		SMSG_PETGODMODE = 29,
		SMSG_REFER_A_FRIEND_EXPIRED = 30,
		CMSG_WEATHER_SPEED_CHEAT = 31,
		CMSG_UNDRESSPLAYER = 32,
		CMSG_BEASTMASTER = 33,
		CMSG_GODMODE = 34,
		SMSG_GODMODE = 35,
		CMSG_CHEAT_SETMONEY = 36,
		CMSG_LEVEL_CHEAT = 37,
		CMSG_PET_LEVEL_CHEAT = 38,
		CMSG_SET_WORLDSTATE = 39,
		CMSG_COOLDOWN_CHEAT = 40,
		CMSG_USE_SKILL_CHEAT = 41,
		CMSG_FLAG_QUEST = 42,
		CMSG_FLAG_QUEST_FINISH = 43,
		CMSG_CLEAR_QUEST = 44,
		CMSG_SEND_EVENT = 45,
		CMSG_DEBUG_AISTATE = 46,
		SMSG_DEBUG_AISTATE = 47,
		CMSG_DISABLE_PVP_CHEAT = 48,
		CMSG_ADVANCE_SPAWN_TIME = 49,
		/// <summary>
		/// pguid
		/// pguid
		/// pguid
		/// int
		/// int spellId
		/// </summary>
		SMSG_DESTRUCTIBLE_BUILDING_DAMAGE = 50,
		CMSG_AUTH_SRP6_BEGIN = 51,
		CMSG_AUTH_SRP6_PROOF = 52,
		CMSG_AUTH_SRP6_RECODE = 53,
		CMSG_CHAR_CREATE = 54,
		CMSG_CHAR_ENUM = 55,
		CMSG_CHAR_DELETE = 56,
		SMSG_AUTH_SRP6_RESPONSE = 57,
		SMSG_CHAR_CREATE = 58,
		SMSG_CHAR_ENUM = 59,
		SMSG_CHAR_DELETE = 60,
		CMSG_PLAYER_LOGIN = 61,
		SMSG_NEW_WORLD = 62,
		SMSG_TRANSFER_PENDING = 63,
		SMSG_TRANSFER_ABORTED = 64,
		SMSG_CHARACTER_LOGIN_FAILED = 65,
		SMSG_LOGIN_SETTIMESPEED = 66,
		SMSG_GAMETIME_UPDATE = 67,
		CMSG_GAMETIME_SET = 68,
		SMSG_GAMETIME_SET = 69,
		CMSG_GAMESPEED_SET = 70,
		SMSG_GAMESPEED_SET = 71,
		CMSG_SERVERTIME = 72,
		SMSG_SERVERTIME = 73,
		CMSG_PLAYER_LOGOUT = 74,
		CMSG_LOGOUT_REQUEST = 75,
		SMSG_LOGOUT_RESPONSE = 76,
		SMSG_LOGOUT_COMPLETE = 77,
		CMSG_LOGOUT_CANCEL = 78,
		SMSG_LOGOUT_CANCEL_ACK = 79,
		CMSG_NAME_QUERY = 80,
		SMSG_NAME_QUERY_RESPONSE = 81,
		CMSG_PET_NAME_QUERY = 82,
		SMSG_PET_NAME_QUERY_RESPONSE = 83,
		CMSG_GUILD_QUERY = 84,
		SMSG_GUILD_QUERY_RESPONSE = 85,
		CMSG_ITEM_QUERY_SINGLE = 86,
		CMSG_ITEM_QUERY_MULTIPLE = 87,
		SMSG_ITEM_QUERY_SINGLE_RESPONSE = 88,
		SMSG_ITEM_QUERY_MULTIPLE_RESPONSE = 89,
		CMSG_PAGE_TEXT_QUERY = 90,
		SMSG_PAGE_TEXT_QUERY_RESPONSE = 91,
		CMSG_QUEST_QUERY = 92,
		SMSG_QUEST_QUERY_RESPONSE = 93,
		CMSG_GAMEOBJECT_QUERY = 94,
		SMSG_GAMEOBJECT_QUERY_RESPONSE = 95,
		CMSG_CREATURE_QUERY = 96,
		SMSG_CREATURE_QUERY_RESPONSE = 97,
		CMSG_WHO = 98,
		SMSG_WHO = 99,
		CMSG_WHOIS = 100,
		SMSG_WHOIS = 101,
		CMSG_CONTACT_LIST = 102,
		SMSG_CONTACT_LIST = 103,
		SMSG_FRIEND_STATUS = 104,
		CMSG_ADD_FRIEND = 105,
		CMSG_DEL_FRIEND = 106,
		CMSG_SET_CONTACT_NOTES = 107,
		CMSG_ADD_IGNORE = 108,
		CMSG_DEL_IGNORE = 109,
		CMSG_GROUP_INVITE = 110,
		SMSG_GROUP_INVITE = 111,
		CMSG_GROUP_CANCEL = 112,
		SMSG_GROUP_CANCEL = 113,
		CMSG_GROUP_ACCEPT = 114,
		CMSG_GROUP_DECLINE = 115,
		SMSG_GROUP_DECLINE = 116,
		CMSG_GROUP_UNINVITE = 117,
		CMSG_GROUP_UNINVITE_GUID = 118,
		SMSG_GROUP_UNINVITE = 119,
		CMSG_GROUP_SET_LEADER = 120,
		SMSG_GROUP_SET_LEADER = 121,
		CMSG_LOOT_METHOD = 122,
		CMSG_GROUP_DISBAND = 123,
		SMSG_GROUP_DESTROYED = 124,
		SMSG_GROUP_LIST = 125,
		SMSG_PARTY_MEMBER_STATS = 126,
		SMSG_PARTY_COMMAND_RESULT = 127,
		UMSG_UPDATE_GROUP_MEMBERS = 128,
		CMSG_GUILD_CREATE = 129,
		CMSG_GUILD_INVITE = 130,
		SMSG_GUILD_INVITE = 131,
		CMSG_GUILD_ACCEPT = 132,
		CMSG_GUILD_DECLINE = 133,
		SMSG_GUILD_DECLINE = 134,
		CMSG_GUILD_INFO = 135,
		SMSG_GUILD_INFO = 136,
		CMSG_GUILD_ROSTER = 137,
		SMSG_GUILD_ROSTER = 138,
		CMSG_GUILD_PROMOTE = 139,
		CMSG_GUILD_DEMOTE = 140,
		CMSG_GUILD_LEAVE = 141,
		CMSG_GUILD_REMOVE = 142,
		CMSG_GUILD_DISBAND = 143,
		CMSG_GUILD_LEADER = 144,
		CMSG_GUILD_MOTD = 145,
		SMSG_GUILD_EVENT = 146,
		SMSG_GUILD_COMMAND_RESULT = 147,
		UMSG_UPDATE_GUILD = 148,
		CMSG_MESSAGECHAT = 149,
		SMSG_MESSAGECHAT = 150,
		CMSG_JOIN_CHANNEL = 151,
		CMSG_LEAVE_CHANNEL = 152,
		SMSG_CHANNEL_NOTIFY = 153,
		CMSG_CHANNEL_LIST = 154,
		SMSG_CHANNEL_LIST = 155,
		CMSG_CHANNEL_PASSWORD = 156,
		CMSG_CHANNEL_SET_OWNER = 157,
		CMSG_CHANNEL_OWNER = 158,
		CMSG_CHANNEL_MODERATOR = 159,
		CMSG_CHANNEL_UNMODERATOR = 160,
		CMSG_CHANNEL_MUTE = 161,
		CMSG_CHANNEL_UNMUTE = 162,
		CMSG_CHANNEL_INVITE = 163,
		CMSG_CHANNEL_KICK = 164,
		CMSG_CHANNEL_BAN = 165,
		CMSG_CHANNEL_UNBAN = 166,
		CMSG_CHANNEL_ANNOUNCEMENTS = 167,
		CMSG_CHANNEL_MODERATE = 168,
		SMSG_UPDATE_OBJECT = 169,
		SMSG_DESTROY_OBJECT = 170,
		CMSG_USE_ITEM = 171,
		CMSG_OPEN_ITEM = 172,
		CMSG_READ_ITEM = 173,
		SMSG_READ_ITEM_OK = 174,
		SMSG_READ_ITEM_FAILED = 175,
		SMSG_ITEM_COOLDOWN = 176,
        CMSG_GAMEOBJECT_USE = 177,
		CMSG_DESTROY_ITEMS = 178,
		SMSG_GAMEOBJECT_CUSTOM_ANIM = 179,
		CMSG_AREATRIGGER = 180,
		MSG_MOVE_START_FORWARD = 181,
		MSG_MOVE_START_BACKWARD = 182,
		MSG_MOVE_STOP = 183,
		MSG_MOVE_START_STRAFE_LEFT = 184,
		MSG_MOVE_START_STRAFE_RIGHT = 185,
		MSG_MOVE_STOP_STRAFE = 186,
		MSG_MOVE_JUMP = 187,
		MSG_MOVE_START_TURN_LEFT = 188,
		MSG_MOVE_START_TURN_RIGHT = 189,
		MSG_MOVE_STOP_TURN = 190,
		MSG_MOVE_START_PITCH_UP = 191,
		MSG_MOVE_START_PITCH_DOWN = 192,
		MSG_MOVE_STOP_PITCH = 193,
		MSG_MOVE_SET_RUN_MODE = 194,
		MSG_MOVE_SET_WALK_MODE = 195,
		MSG_MOVE_TOGGLE_LOGGING = 196,
		MSG_MOVE_TELEPORT = 197,
		MSG_MOVE_TELEPORT_CHEAT = 198,
		MSG_MOVE_TELEPORT_ACK = 199,
		MSG_MOVE_TOGGLE_FALL_LOGGING = 200,
		MSG_MOVE_FALL_LAND = 201,
		MSG_MOVE_START_SWIM = 202,
		MSG_MOVE_STOP_SWIM = 203,
		MSG_MOVE_SET_RUN_SPEED_CHEAT = 204,
		MSG_MOVE_SET_RUN_SPEED = 205,
		MSG_MOVE_SET_RUN_BACK_SPEED_CHEAT = 206,
		MSG_MOVE_SET_RUN_BACK_SPEED = 207,
		MSG_MOVE_SET_WALK_SPEED_CHEAT = 208,
		MSG_MOVE_SET_WALK_SPEED = 209,
		MSG_MOVE_SET_SWIM_SPEED_CHEAT = 210,
		MSG_MOVE_SET_SWIM_SPEED = 211,
		MSG_MOVE_SET_SWIM_BACK_SPEED_CHEAT = 212,
		MSG_MOVE_SET_SWIM_BACK_SPEED = 213,
		MSG_MOVE_SET_ALL_SPEED_CHEAT = 214,
		MSG_MOVE_SET_TURN_RATE_CHEAT = 215,
		MSG_MOVE_SET_TURN_RATE = 216,
		MSG_MOVE_TOGGLE_COLLISION_CHEAT = 217,
		MSG_MOVE_SET_FACING = 218,
		MSG_MOVE_SET_PITCH = 219,
		MSG_MOVE_WORLDPORT_ACK = 220,
		SMSG_MONSTER_MOVE = 221,
		SMSG_MOVE_WATER_WALK = 222,
		SMSG_MOVE_LAND_WALK = 223,
		MSG_MOVE_SET_RAW_POSITION_ACK = 224,
		CMSG_MOVE_SET_RAW_POSITION = 225,
		SMSG_FORCE_RUN_SPEED_CHANGE = 226,
		CMSG_FORCE_RUN_SPEED_CHANGE_ACK = 227,
		SMSG_FORCE_RUN_BACK_SPEED_CHANGE = 228,
		CMSG_FORCE_RUN_BACK_SPEED_CHANGE_ACK = 229,
		SMSG_FORCE_SWIM_SPEED_CHANGE = 230,
		CMSG_FORCE_SWIM_SPEED_CHANGE_ACK = 231,
		SMSG_FORCE_MOVE_ROOT = 232,
		CMSG_FORCE_MOVE_ROOT_ACK = 233,
		SMSG_FORCE_MOVE_UNROOT = 234,
		CMSG_FORCE_MOVE_UNROOT_ACK = 235,
		MSG_MOVE_ROOT = 236,
		MSG_MOVE_UNROOT = 237,
		MSG_MOVE_HEARTBEAT = 238,
		SMSG_MOVE_KNOCK_BACK = 239,
		CMSG_MOVE_KNOCK_BACK_ACK = 240,
		MSG_MOVE_KNOCK_BACK = 241,
		SMSG_MOVE_FEATHER_FALL = 242,
		SMSG_MOVE_NORMAL_FALL = 243,
		SMSG_MOVE_SET_HOVER = 244,
		SMSG_MOVE_UNSET_HOVER = 245,
		CMSG_MOVE_HOVER_ACK = 246,
		MSG_MOVE_HOVER = 247,
		CMSG_TRIGGER_CINEMATIC_CHEAT = 248,
		CMSG_OPENING_CINEMATIC = 249,
		SMSG_TRIGGER_CINEMATIC = 250,
		CMSG_NEXT_CINEMATIC_CAMERA = 251,
		CMSG_COMPLETE_CINEMATIC = 252,
		SMSG_TUTORIAL_FLAGS = 253,
		CMSG_TUTORIAL_FLAG = 254,
		CMSG_TUTORIAL_CLEAR = 255,
		CMSG_TUTORIAL_RESET = 256,
		CMSG_STANDSTATECHANGE = 257,
		CMSG_EMOTE = 258,
		SMSG_EMOTE = 259,
		CMSG_TEXT_EMOTE = 260,
		SMSG_TEXT_EMOTE = 261,
		CMSG_AUTOEQUIP_GROUND_ITEM = 262,
		CMSG_AUTOSTORE_GROUND_ITEM = 263,
		CMSG_AUTOSTORE_LOOT_ITEM = 264,
		CMSG_STORE_LOOT_IN_SLOT = 265,
		CMSG_AUTOEQUIP_ITEM = 266,
		CMSG_AUTOSTORE_BAG_ITEM = 267,
		CMSG_SWAP_ITEM = 268,
		CMSG_SWAP_INV_ITEM = 269,
		CMSG_SPLIT_ITEM = 270,
		CMSG_AUTOEQUIP_ITEM_SLOT = 271,
		OBSOLETE_DROP_ITEM = 272,
		CMSG_DESTROYITEM = 273,
		SMSG_INVENTORY_CHANGE_FAILURE = 274,
		SMSG_OPEN_CONTAINER = 275,
		CMSG_INSPECT = 276,
		SMSG_INSPECT = 277,
		CMSG_INITIATE_TRADE = 278,
		CMSG_BEGIN_TRADE = 279,
		CMSG_BUSY_TRADE = 280,
		CMSG_IGNORE_TRADE = 281,
		CMSG_ACCEPT_TRADE = 282,
		CMSG_UNACCEPT_TRADE = 283,
		CMSG_CANCEL_TRADE = 284,
		CMSG_SET_TRADE_ITEM = 285,
		CMSG_CLEAR_TRADE_ITEM = 286,
		CMSG_SET_TRADE_GOLD = 287,
		SMSG_TRADE_STATUS = 288,
		SMSG_TRADE_STATUS_EXTENDED = 289,
		SMSG_INITIALIZE_FACTIONS = 290,
		SMSG_SET_FACTION_VISIBLE = 291,
		SMSG_SET_FACTION_STANDING = 292,
		CMSG_SET_FACTION_ATWAR = 293,
		CMSG_SET_FACTION_CHEAT = 294,
		SMSG_SET_PROFICIENCY = 295,
		CMSG_SET_ACTION_BUTTON = 296,
		SMSG_ACTION_BUTTONS = 297,
		SMSG_INITIAL_SPELLS = 298,
		SMSG_LEARNED_SPELL = 299,
		SMSG_SUPERCEDED_SPELL = 300,
		CMSG_NEW_SPELL_SLOT = 301,
		CMSG_CAST_SPELL = 302,
		CMSG_CANCEL_CAST = 303,
		SMSG_CAST_FAILED = 304,
		SMSG_SPELL_START = 305,
		SMSG_SPELL_GO = 306,
		SMSG_SPELL_FAILURE = 307,
		SMSG_SPELL_COOLDOWN = 308,
		SMSG_COOLDOWN_EVENT = 309,
		CMSG_CANCEL_AURA = 310,
		//SMSG_UPDATE_AURA_DURATION_OBSOLETE = 311,
		/// <summary>
		/// Looks like it might clear out a set
		/// int setId
		/// pguid setGuid
		/// </summary>
		SMSG_EQUIPMENT_SET_SAVED = 311,
		SMSG_PET_CAST_FAILED = 312,
		MSG_CHANNEL_START = 313,
		MSG_CHANNEL_UPDATE = 314,
		CMSG_CANCEL_CHANNELLING = 315,
		SMSG_AI_REACTION = 316,
		CMSG_SET_SELECTION = 317,
		//CMSG_SET_TARGET_OBSOLETE = 318,
		/// <summary>
		/// pguid
		/// </summary>
		CMSG_DELETE_EQUIPMENT_SET = 318,
		/// <summary>
		/// Added 3.1.0.9658
		/// bool unk
		/// </summary>
		CMSG_INSTANCE_LOCK_WARNING_RESPONSE = 319, // 3.2.2 updated
		CMSG_UNUSED2 = 320,
		CMSG_ATTACKSWING = 321,
		CMSG_ATTACKSTOP = 322,
		SMSG_ATTACKSTART = 323,
		SMSG_ATTACKSTOP = 324,
		SMSG_ATTACKSWING_NOTINRANGE = 325,
		SMSG_ATTACKSWING_BADFACING = 326,
		SMSG_INSTANCE_LOCK_WARNING_QUERY = 327, // 3.2.2 updated
		SMSG_ATTACKSWING_DEADTARGET = 328,
		SMSG_ATTACKSWING_CANT_ATTACK = 329,
		SMSG_ATTACKERSTATEUPDATE = 330,
		//SMSG_VICTIMSTATEUPDATE_OBSOLETE = 331,
		/// <summary>
		/// New in 3.1
		/// </summary>
		SMSG_BATTLEFIELD_PORT_DENIED = 331,
		SMSG_DAMAGE_DONE_OBSOLETE = 332,
		/// <summary>
		/// SMSG_DAMAGE_TAKEN_OBSOLETE before 3.3.x
		/// </summary>
		SMSG_UNIT_SPELLCAST_START = 333,
		SMSG_CANCEL_COMBAT = 334,
		SMSG_SPELLBREAKLOG = 335,
		SMSG_SPELLHEALLOG = 336,
		SMSG_SPELLENERGIZELOG = 337,
		SMSG_BREAK_TARGET = 338,
		CMSG_SAVE_PLAYER = 339,
		CMSG_SETDEATHBINDPOINT = 340,
		SMSG_BINDPOINTUPDATE = 341,
		CMSG_GETDEATHBINDZONE = 342,
		SMSG_BINDZONEREPLY = 343,
		SMSG_PLAYERBOUND = 344,
		SMSG_CLIENT_CONTROL_UPDATE = 345,
		CMSG_REPOP_REQUEST = 346,
		SMSG_RESURRECT_REQUEST = 347,
		CMSG_RESURRECT_RESPONSE = 348,
		/// <summary>
		/// 349 / 0x15D
		/// </summary>
		CMSG_LOOT = 349,
		CMSG_LOOT_MONEY = 350,
		/// <summary>
		/// 351
		/// </summary>
		CMSG_LOOT_RELEASE = 351,
		SMSG_LOOT_RESPONSE = 352,
		SMSG_LOOT_RELEASE_RESPONSE = 353,
		SMSG_LOOT_REMOVED = 354,
		SMSG_LOOT_MONEY_NOTIFY = 355,
		SMSG_LOOT_ITEM_NOTIFY = 356,
		SMSG_LOOT_CLEAR_MONEY = 357,
		SMSG_ITEM_PUSH_RESULT = 358,
		SMSG_DUEL_REQUESTED = 359,
		SMSG_DUEL_OUTOFBOUNDS = 360,
		SMSG_DUEL_INBOUNDS = 361,
		SMSG_DUEL_COMPLETE = 362,
		SMSG_DUEL_WINNER = 363,
		CMSG_DUEL_ACCEPTED = 364,
		CMSG_DUEL_CANCELLED = 365,
		SMSG_MOUNTRESULT = 366,
		SMSG_DISMOUNTRESULT = 367,
		SMSG_PUREMOUNT_CANCELLED_OBSOLETE = 368,
		CMSG_MOUNTSPECIAL_ANIM = 369,
		SMSG_MOUNTSPECIAL_ANIM = 370,
		SMSG_PET_TAME_FAILURE = 371,
		CMSG_PET_SET_ACTION = 372,
		CMSG_PET_ACTION = 373,
		CMSG_PET_ABANDON = 374,
		CMSG_PET_RENAME = 375,
		SMSG_PET_NAME_INVALID = 376,
		SMSG_PET_SPELLS = 377,
		SMSG_PET_MODE = 378,
		CMSG_GOSSIP_HELLO = 379,
		CMSG_GOSSIP_SELECT_OPTION = 380,
		SMSG_GOSSIP_MESSAGE = 381,
		SMSG_GOSSIP_COMPLETE = 382,
		CMSG_NPC_TEXT_QUERY = 383,
		SMSG_NPC_TEXT_UPDATE = 384,
		SMSG_NPC_WONT_TALK = 385,
		CMSG_QUESTGIVER_STATUS_QUERY = 386,
		SMSG_QUESTGIVER_STATUS = 387,
		CMSG_QUESTGIVER_HELLO = 388,
		SMSG_QUESTGIVER_QUEST_LIST = 389,
		CMSG_QUESTGIVER_QUERY_QUEST = 390,
		CMSG_QUESTGIVER_QUEST_AUTOLAUNCH = 391,
		SMSG_QUESTGIVER_QUEST_DETAILS = 392,
		CMSG_QUESTGIVER_ACCEPT_QUEST = 393,
		CMSG_QUESTGIVER_COMPLETE_QUEST = 394,
		SMSG_QUESTGIVER_REQUEST_ITEMS = 395,
		CMSG_QUESTGIVER_REQUEST_REWARD = 396,
		SMSG_QUESTGIVER_OFFER_REWARD = 397,
		CMSG_QUESTGIVER_CHOOSE_REWARD = 398,
		SMSG_QUESTGIVER_QUEST_INVALID = 399,
		CMSG_QUESTGIVER_CANCEL = 400,
		SMSG_QUESTGIVER_QUEST_COMPLETE = 401,
		SMSG_QUESTGIVER_QUEST_FAILED = 402,
		CMSG_QUESTLOG_SWAP_QUEST = 403,
		CMSG_QUESTLOG_REMOVE_QUEST = 404,
		SMSG_QUESTLOG_FULL = 405,
		SMSG_QUESTUPDATE_FAILED = 406,
		SMSG_QUESTUPDATE_FAILEDTIMER = 407,
		SMSG_QUESTUPDATE_COMPLETE = 408,
		SMSG_QUESTUPDATE_ADD_KILL = 409,
		SMSG_QUESTUPDATE_ADD_ITEM = 410,
		CMSG_QUEST_CONFIRM_ACCEPT = 411,
		SMSG_QUEST_CONFIRM_ACCEPT = 412,
		CMSG_PUSHQUESTTOPARTY = 413,
		CMSG_LIST_INVENTORY = 414,
		SMSG_LIST_INVENTORY = 415,
		CMSG_SELL_ITEM = 416,
		SMSG_SELL_ITEM = 417,
		CMSG_BUY_ITEM = 418,
		CMSG_BUY_ITEM_IN_SLOT = 419,
		SMSG_BUY_ITEM = 420,
		SMSG_BUY_FAILED = 421,
		CMSG_TAXICLEARALLNODES = 422,
		CMSG_TAXIENABLEALLNODES = 423,
		CMSG_TAXISHOWNODES = 424,
		SMSG_SHOWTAXINODES = 425,
		CMSG_TAXINODE_STATUS_QUERY = 426,
		SMSG_TAXINODE_STATUS = 427,
		CMSG_TAXIQUERYAVAILABLENODES = 428,
		CMSG_ACTIVATETAXI = 429,
		SMSG_ACTIVATETAXIREPLY = 430,
		SMSG_NEW_TAXI_PATH = 431,
		CMSG_TRAINER_LIST = 432,
		SMSG_TRAINER_LIST = 433,
		CMSG_TRAINER_BUY_SPELL = 434,
		SMSG_TRAINER_BUY_SUCCEEDED = 435,
		SMSG_TRAINER_BUY_FAILED = 436,
		CMSG_BINDER_ACTIVATE = 437,
		SMSG_PLAYERBINDERROR = 438,
		CMSG_BANKER_ACTIVATE = 439,
		SMSG_SHOW_BANK = 440,
		CMSG_BUY_BANK_SLOT = 441,
		/// <summary>
		/// uint32 errCode
		/// </summary>
		SMSG_BUY_BANK_SLOT_RESULT = 442,
		CMSG_PETITION_SHOWLIST = 443,
		SMSG_PETITION_SHOWLIST = 444,
		CMSG_PETITION_BUY = 445,
		CMSG_PETITION_SHOW_SIGNATURES = 446,
		SMSG_PETITION_SHOW_SIGNATURES = 447,
		CMSG_PETITION_SIGN = 448,
		SMSG_PETITION_SIGN_RESULTS = 449,
		MSG_PETITION_DECLINE = 450,
		CMSG_OFFER_PETITION = 451,
		CMSG_TURN_IN_PETITION = 452,
		SMSG_TURN_IN_PETITION_RESULTS = 453,
		CMSG_PETITION_QUERY = 454,
		SMSG_PETITION_QUERY_RESPONSE = 455,
		SMSG_FISH_NOT_HOOKED = 456,
		SMSG_FISH_ESCAPED = 457,
		CMSG_BUG = 458,
		SMSG_NOTIFICATION = 459,
		CMSG_PLAYED_TIME = 460,
		SMSG_PLAYED_TIME = 461,
		CMSG_QUERY_TIME = 462,
		SMSG_QUERY_TIME_RESPONSE = 463,
		SMSG_LOG_XPGAIN = 464,
		SMSG_AURACASTLOG = 465,
		CMSG_RECLAIM_CORPSE = 466,
		CMSG_WRAP_ITEM = 467,
		SMSG_LEVELUP_INFO = 468,
		MSG_MINIMAP_PING = 469,
		SMSG_RESISTLOG = 470,
		SMSG_ENCHANTMENTLOG = 471,
		CMSG_SET_SKILL_CHEAT = 472,
		SMSG_START_MIRROR_TIMER = 473,
		SMSG_PAUSE_MIRROR_TIMER = 474,
		SMSG_STOP_MIRROR_TIMER = 475,
		CMSG_PING = 476,
		SMSG_PONG = 477,
		SMSG_CLEAR_COOLDOWN = 478,
		SMSG_GAMEOBJECT_PAGETEXT = 479,
		CMSG_SETSHEATHED = 480,
		SMSG_COOLDOWN_CHEAT = 481,
		SMSG_SPELL_DELAYED = 482,
		CMSG_QUEST_POI_QUERY = 483, // quest poi, 3.2.2
		SMSG_QUEST_POI_QUERY_RESPONSE = 484, // quest poi, 3.2.2
		CMSG_GHOST = 485,
		CMSG_GM_INVIS = 486,
		SMSG_INVALID_PROMOTION_CODE = 487,
		MSG_GM_BIND_OTHER = 488,
		MSG_GM_SUMMON = 489,
		SMSG_ITEM_TIME_UPDATE = 490,
		SMSG_ITEM_ENCHANT_TIME_UPDATE = 491,
		SMSG_AUTH_CHALLENGE = 492,
		CMSG_AUTH_SESSION = 493,
		SMSG_AUTH_RESPONSE = 494,
		MSG_GM_SHOWLABEL = 495,
		CMSG_PET_CAST_SPELL = 496,
		MSG_SAVE_GUILD_EMBLEM = 497,
		MSG_TABARDVENDOR_ACTIVATE = 498,
		SMSG_PLAY_SPELL_VISUAL = 499,
		CMSG_ZONEUPDATE = 500,
		SMSG_PARTYKILLLOG = 501,
		SMSG_COMPRESSED_UPDATE_OBJECT = 502,
		SMSG_PLAY_SPELL_IMPACT = 503,
		SMSG_EXPLORATION_EXPERIENCE = 504,
		CMSG_GM_SET_SECURITY_GROUP = 505,
		CMSG_GM_NUKE = 506,
		MSG_RANDOM_ROLL = 507,
		SMSG_ENVIRONMENTALDAMAGELOG = 508,
		CMSG_RWHOIS_OBSOLETE = 509,
		SMSG_RWHOIS = 510,
		SMSG_LFG_PLAYER_REWARD = 511,
		SMSG_LFG_TELEPORT_DENIED = 512,
		CMSG_UNLEARN_SPELL = 513,
		CMSG_UNLEARN_SKILL = 514,
		SMSG_REMOVED_SPELL = 515,
		CMSG_DECHARGE = 516,
		CMSG_GMTICKET_CREATE = 517,
		SMSG_GMTICKET_CREATE = 518,
		CMSG_GMTICKET_UPDATETEXT = 519,
		SMSG_GMTICKET_UPDATETEXT = 520,
		SMSG_ACCOUNT_DATA_TIMES = 521,
		CMSG_REQUEST_ACCOUNT_DATA = 522,
		CMSG_UPDATE_ACCOUNT_DATA = 523,
		SMSG_UPDATE_ACCOUNT_DATA = 524,
		SMSG_CLEAR_FAR_SIGHT_IMMEDIATE = 525,
		SMSG_POWERGAINLOG_OBSOLETE = 526,
		CMSG_GM_TEACH = 527,
		CMSG_GM_CREATE_ITEM_TARGET = 528,
		CMSG_GMTICKET_GETTICKET = 529,
		SMSG_GMTICKET_GETTICKET = 530,
		CMSG_UNLEARN_TALENTS = 531,
		SMSG_GAMEOBJECT_SPAWN_ANIM_OBSOLETE = 532,
		SMSG_GAMEOBJECT_DESPAWN_ANIM = 533,
		MSG_CORPSE_QUERY = 534,
		CMSG_GMTICKET_DELETETICKET = 535,
		SMSG_GMTICKET_DELETETICKET = 536,
		SMSG_CHAT_WRONG_FACTION = 537,
		CMSG_GMTICKET_SYSTEMSTATUS = 538,
		SMSG_GMTICKET_SYSTEMSTATUS = 539,
		CMSG_SPIRIT_HEALER_ACTIVATE = 540,
		CMSG_SET_STAT_CHEAT = 541,
		/// <summary>
		/// Force-remove quest, uint32 questId
		/// </summary>
		SMSG_QUEST_FORCE_REMOVE = 542,
		CMSG_SKILL_BUY_STEP = 543,
		CMSG_SKILL_BUY_RANK = 544,
		CMSG_XP_CHEAT = 545,
		SMSG_SPIRIT_HEALER_CONFIRM = 546,
		CMSG_CHARACTER_POINT_CHEAT = 547,
		SMSG_GOSSIP_POI = 548,
		CMSG_CHAT_IGNORED = 549,
		CMSG_GM_VISION = 550,
		CMSG_SERVER_COMMAND = 551,
		CMSG_GM_SILENCE = 552,
		CMSG_GM_REVEALTO = 553,
		CMSG_GM_RESURRECT = 554,
		CMSG_GM_SUMMONMOB = 555,
		CMSG_GM_MOVECORPSE = 556,
		CMSG_GM_FREEZE = 557,
		CMSG_GM_UBERINVIS = 558,
		CMSG_GM_REQUEST_PLAYER_INFO = 559,
		SMSG_GM_PLAYER_INFO = 560,
		CMSG_GUILD_RANK = 561,
		CMSG_GUILD_ADD_RANK = 562,
		CMSG_GUILD_DEL_RANK = 563,
		CMSG_GUILD_SET_PUBLIC_NOTE = 564,
		CMSG_GUILD_SET_OFFICER_NOTE = 565,
		SMSG_LOGIN_VERIFY_WORLD = 566,
		CMSG_CLEAR_EXPLORATION = 567,
		CMSG_SEND_MAIL = 568,
		SMSG_SEND_MAIL_RESULT = 569,
		CMSG_GET_MAIL_LIST = 570,
		SMSG_MAIL_LIST_RESULT = 571,

		/// <summary>
		/// Requests the list of a particular BG
		/// </summary>
		CMSG_BATTLEFIELD_LIST = 572,

		/// <summary>
		/// Shows the list of all BGs (since 3.10)
		/// </summary>
		SMSG_BATTLEFIELD_LIST = 573,

		/// <summary>
		/// Obsolete
		/// </summary>
		CMSG_BATTLEFIELD_JOIN = 574,

		/// <summary>
		/// Obsolete
		/// </summary>
		SMSG_BATTLEFIELD_WIN_OBSOLETE = 575,

		/// <summary>
		/// Obsolete
		/// </summary>
		SMSG_BATTLEFIELD_LOSE_OBSOLETE = 576,
		CMSG_TAXICLEARNODE = 577,
		CMSG_TAXIENABLENODE = 578,
		CMSG_ITEM_TEXT_QUERY = 579,
		SMSG_ITEM_TEXT_QUERY_RESPONSE = 580,
		CMSG_MAIL_TAKE_MONEY = 581,
		CMSG_MAIL_TAKE_ITEM = 582,
		CMSG_MAIL_MARK_AS_READ = 583,
		CMSG_MAIL_RETURN_TO_SENDER = 584,
		CMSG_MAIL_DELETE = 585,
		CMSG_MAIL_CREATE_TEXT_ITEM = 586,
		SMSG_SPELLLOGMISS = 587,
		SMSG_SPELLLOGEXECUTE = 588,
		SMSG_DEBUGAURAPROC = 589,
		SMSG_PERIODICAURALOG = 590,
		SMSG_SPELLDAMAGESHIELD = 591,
		SMSG_SPELLNONMELEEDAMAGELOG = 592,
		CMSG_LEARN_TALENT = 593,
		SMSG_RESURRECT_FAILED = 594,
		CMSG_TOGGLE_PVP = 595,
		SMSG_ZONE_UNDER_ATTACK = 596,
		MSG_AUCTION_HELLO = 597,
		CMSG_AUCTION_SELL_ITEM = 598,
		CMSG_AUCTION_REMOVE_ITEM = 599,
		CMSG_AUCTION_LIST_ITEMS = 600,
		CMSG_AUCTION_LIST_OWNER_ITEMS = 601,
		CMSG_AUCTION_PLACE_BID = 602,
		SMSG_AUCTION_COMMAND_RESULT = 603,
		SMSG_AUCTION_LIST_RESULT = 604,
		SMSG_AUCTION_OWNER_LIST_RESULT = 605,
		SMSG_AUCTION_BIDDER_NOTIFICATION = 606,
		SMSG_AUCTION_OWNER_NOTIFICATION = 607,
		SMSG_PROCRESIST = 608,
		SMSG_STANDSTATE_CHANGE_FAILURE_OBSOLETE = 609,
		SMSG_DISPEL_FAILED = 610,
		SMSG_SPELLORDAMAGE_IMMUNE = 611,
		CMSG_AUCTION_LIST_BIDDER_ITEMS = 612,
		SMSG_AUCTION_BIDDER_LIST_RESULT = 613,
		SMSG_SET_FLAT_SPELL_MODIFIER = 614,
		SMSG_SET_PCT_SPELL_MODIFIER = 615,
		CMSG_SET_AMMO = 616,
		SMSG_CORPSE_RECLAIM_DELAY = 617,
		CMSG_SET_ACTIVE_MOVER = 618,
		CMSG_PET_CANCEL_AURA = 619,
		CMSG_PLAYER_AI_CHEAT = 620,
		CMSG_CANCEL_AUTO_REPEAT_SPELL = 621,
		MSG_GM_ACCOUNT_ONLINE = 622,
		MSG_LIST_STABLED_PETS = 623,
		CMSG_STABLE_PET = 624,
		CMSG_UNSTABLE_PET = 625,
		CMSG_BUY_STABLE_SLOT = 626,
		SMSG_STABLE_RESULT = 627,
		CMSG_STABLE_REVIVE_PET = 628,
		CMSG_STABLE_SWAP_PET = 629,
		MSG_QUEST_PUSH_RESULT = 630,
		SMSG_PLAY_MUSIC = 631,
		SMSG_PLAY_OBJECT_SOUND = 632,
		CMSG_REQUEST_PET_INFO = 633,
		CMSG_FAR_SIGHT = 634,
		SMSG_SPELLDISPELLOG = 635,
		SMSG_DAMAGE_CALC_LOG = 636,
		CMSG_ENABLE_DAMAGE_LOG = 637,
		CMSG_GROUP_CHANGE_SUB_GROUP = 638,
		CMSG_REQUEST_PARTY_MEMBER_STATS = 639,
		CMSG_GROUP_SWAP_SUB_GROUP = 640,
		CMSG_RESET_FACTION_CHEAT = 641,
		CMSG_AUTOSTORE_BANK_ITEM = 642,
		CMSG_AUTOBANK_ITEM = 643,
		MSG_QUERY_NEXT_MAIL_TIME = 644,
		SMSG_RECEIVED_MAIL = 645,
		SMSG_RAID_GROUP_ONLY = 646,
		CMSG_SET_DURABILITY_CHEAT = 647,
		CMSG_SET_PVP_RANK_CHEAT = 648,
		CMSG_ADD_PVP_MEDAL_CHEAT = 649,
		CMSG_DEL_PVP_MEDAL_CHEAT = 650,
		CMSG_SET_PVP_TITLE = 651,
		SMSG_PVP_CREDIT = 652,
		SMSG_AUCTION_REMOVED_NOTIFICATION = 653,
		CMSG_GROUP_RAID_CONVERT = 654,
		CMSG_GROUP_ASSISTANT_LEADER = 655,
		CMSG_BUYBACK_ITEM = 656,
		SMSG_SERVER_MESSAGE = 657,
		CMSG_SET_SAVED_INSTANCE_EXTEND = 658, // 3.2.2 changed
		SMSG_LFG_OFFER_CONTINUE = 659,
		CMSG_MEETINGSTONE_CHEAT = 660,
		SMSG_MEETINGSTONE_SETQUEUE = 661,
		CMSG_MEETINGSTONE_INFO = 662,
		SMSG_MEETINGSTONE_COMPLETE = 663,
		SMSG_MEETINGSTONE_IN_PROGRESS = 664,
		SMSG_MEETINGSTONE_MEMBER_ADDED = 665,
		CMSG_GMTICKETSYSTEM_TOGGLE = 666,
		CMSG_CANCEL_GROWTH_AURA = 667,
		SMSG_CANCEL_AUTO_REPEAT = 668,
		SMSG_STANDSTATE_UPDATE = 669,
		SMSG_LOOT_ALL_PASSED = 670,
		SMSG_LOOT_ROLL_WON = 671,
		CMSG_LOOT_ROLL = 672,
		SMSG_LOOT_START_ROLL = 673,
		SMSG_LOOT_ROLL = 674,
		CMSG_LOOT_MASTER_GIVE = 675,
		SMSG_LOOT_MASTER_LIST = 676,
		SMSG_SET_FORCED_REACTIONS = 677,
		SMSG_SPELL_FAILED_OTHER = 678,
		SMSG_GAMEOBJECT_RESET_STATE = 679,
		CMSG_REPAIR_ITEM = 680,
		SMSG_CHAT_PLAYER_NOT_FOUND = 681,
		MSG_TALENT_WIPE_CONFIRM = 682,
		SMSG_SUMMON_REQUEST = 683,
		CMSG_SUMMON_RESPONSE = 684,
		MSG_MOVE_TOGGLE_GRAVITY_CHEAT = 685,
		SMSG_MONSTER_MOVE_TRANSPORT = 686,
		SMSG_PET_BROKEN = 687,
		MSG_MOVE_FEATHER_FALL = 688,
		MSG_MOVE_WATER_WALK = 689,
		CMSG_SERVER_BROADCAST = 690,
		CMSG_SELF_RES = 691,
		SMSG_FEIGN_DEATH_RESISTED = 692,
		CMSG_RUN_SCRIPT = 693,
		SMSG_SCRIPT_MESSAGE = 694,
		SMSG_DUEL_COUNTDOWN = 695,
		SMSG_AREA_TRIGGER_MESSAGE = 696,
		CMSG_SHOWING_HELM = 697,
		CMSG_SHOWING_CLOAK = 698,
		SMSG_LFG_ROLE_CHOSEN = 699,
		SMSG_PLAYER_SKINNED = 700,
		SMSG_DURABILITY_DAMAGE_DEATH = 701,
		CMSG_SET_EXPLORATION = 702,
		CMSG_SET_ACTIONBAR_TOGGLES = 703,
		UMSG_DELETE_GUILD_CHARTER = 704,
		MSG_PETITION_RENAME = 705,
		SMSG_INIT_WORLD_STATES = 706,
		SMSG_UPDATE_WORLD_STATE = 707,
		CMSG_ITEM_NAME_QUERY = 708,
		SMSG_ITEM_NAME_QUERY_RESPONSE = 709,
		SMSG_PET_ACTION_FEEDBACK = 710,
		CMSG_CHAR_RENAME = 711,
		SMSG_CHAR_RENAME = 712,
		CMSG_MOVE_SPLINE_DONE = 713,
		CMSG_MOVE_FALL_RESET = 714,
		SMSG_INSTANCE_SAVE_CREATED = 715,
		SMSG_RAID_INSTANCE_INFO = 716,
		CMSG_REQUEST_RAID_INFO = 717,
		CMSG_MOVE_TIME_SKIPPED = 718,
		CMSG_MOVE_FEATHER_FALL_ACK = 719,
		CMSG_MOVE_WATER_WALK_ACK = 720,
		CMSG_MOVE_NOT_ACTIVE_MOVER = 721,
		SMSG_PLAY_SOUND = 722,
		CMSG_BATTLEFIELD_STATUS = 723,
		SMSG_BATTLEFIELD_STATUS = 724,
		CMSG_BATTLEFIELD_PORT = 725,
		MSG_INSPECT_HONOR_STATS = 726,
		CMSG_BATTLEMASTER_HELLO = 727,
		CMSG_MOVE_START_SWIM_CHEAT = 728,
		CMSG_MOVE_STOP_SWIM_CHEAT = 729,
		SMSG_FORCE_WALK_SPEED_CHANGE = 730,
		CMSG_FORCE_WALK_SPEED_CHANGE_ACK = 731,
		SMSG_FORCE_SWIM_BACK_SPEED_CHANGE = 732,
		CMSG_FORCE_SWIM_BACK_SPEED_CHANGE_ACK = 733,
		SMSG_FORCE_TURN_RATE_CHANGE = 734,
		CMSG_FORCE_TURN_RATE_CHANGE_ACK = 735,
		MSG_PVP_LOG_DATA = 736,
		CMSG_LEAVE_BATTLEFIELD = 737,
		CMSG_AREA_SPIRIT_HEALER_QUERY = 738,
		CMSG_AREA_SPIRIT_HEALER_QUEUE = 739,
		SMSG_AREA_SPIRIT_HEALER_TIME = 740,
		CMSG_GM_UNTEACH = 741,
		SMSG_WARDEN_DATA = 742,
		CMSG_WARDEN_DATA = 743,

		/// <summary>
		/// Error message in disguise?
		/// </summary>
		SMSG_GROUP_JOINED_BATTLEGROUND = 744,
		MSG_BATTLEGROUND_PLAYER_POSITIONS = 745,
		CMSG_PET_STOP_ATTACK = 746,
		SMSG_BINDER_CONFIRM = 747,
		SMSG_BATTLEGROUND_PLAYER_JOINED = 748,
		SMSG_BATTLEGROUND_PLAYER_LEFT = 749,
		CMSG_BATTLEMASTER_JOIN = 750,
		SMSG_ADDON_INFO = 751,
		CMSG_PET_UNLEARN = 752,
		SMSG_PET_UNLEARN_CONFIRM = 753,
		SMSG_PARTY_MEMBER_STATS_FULL = 754,
		CMSG_PET_SPELL_AUTOCAST = 755,
		/// <summary>
		/// Implement this...
		/// </summary>
		SMSG_WEATHER = 756,
		SMSG_PLAY_TIME_WARNING = 757,
		SMSG_MINIGAME_SETUP = 758,
		SMSG_MINIGAME_STATE = 759,
		CMSG_MINIGAME_MOVE = 760,
		SMSG_MINIGAME_MOVE_FAILED = 761,
		SMSG_RAID_INSTANCE_MESSAGE = 762,
		SMSG_COMPRESSED_MOVES = 763,
		CMSG_GUILD_INFO_TEXT = 764,
		SMSG_CHAT_RESTRICTED = 765,
		SMSG_SPLINE_SET_RUN_SPEED = 766,
		SMSG_SPLINE_SET_RUN_BACK_SPEED = 767,
		SMSG_SPLINE_SET_SWIM_SPEED = 768,
		SMSG_SPLINE_SET_WALK_SPEED = 769,
		SMSG_SPLINE_SET_SWIM_BACK_SPEED = 770,
		SMSG_SPLINE_SET_TURN_RATE = 771,
		SMSG_SPLINE_MOVE_UNROOT = 772,
		SMSG_SPLINE_MOVE_FEATHER_FALL = 773,
		SMSG_SPLINE_MOVE_NORMAL_FALL = 774,
		SMSG_SPLINE_MOVE_SET_HOVER = 775,
		SMSG_SPLINE_MOVE_UNSET_HOVER = 776,
		SMSG_SPLINE_MOVE_WATER_WALK = 777,
		SMSG_SPLINE_MOVE_LAND_WALK = 778,
		SMSG_SPLINE_MOVE_START_SWIM = 779,
		SMSG_SPLINE_MOVE_STOP_SWIM = 780,
		SMSG_SPLINE_MOVE_SET_RUN_MODE = 781,
		SMSG_SPLINE_MOVE_SET_WALK_MODE = 782,
		CMSG_GM_NUKE_ACCOUNT = 783,
		MSG_GM_DESTROY_CORPSE = 784,
		CMSG_GM_DESTROY_ONLINE_CORPSE = 785,
		CMSG_ACTIVATETAXIEXPRESS = 786,
		SMSG_SET_FACTION_ATWAR = 787,
		SMSG_GAMETIMEBIAS_SET = 788,
		CMSG_DEBUG_ACTIONS_START = 789,
		CMSG_DEBUG_ACTIONS_STOP = 790,
		CMSG_SET_FACTION_INACTIVE = 791,
		CMSG_SET_WATCHED_FACTION = 792,
		MSG_MOVE_TIME_SKIPPED = 793,
		SMSG_SPLINE_MOVE_ROOT = 794,
		CMSG_SET_EXPLORATION_ALL = 795,
		SMSG_INVALIDATE_PLAYER = 796,
		CMSG_RESET_INSTANCES = 797,
		SMSG_INSTANCE_RESET = 798,
		SMSG_INSTANCE_RESET_FAILED = 799,
		SMSG_UPDATE_LAST_INSTANCE = 800,
		MSG_RAID_TARGET_UPDATE = 801,
		MSG_RAID_READY_CHECK = 802,
		CMSG_LUA_USAGE = 803,
		SMSG_PET_ACTION_SOUND = 804,
		SMSG_PET_DISMISS_SOUND = 805,
		SMSG_GHOSTEE_GONE = 806,
		CMSG_GM_UPDATE_TICKET_STATUS = 807,
		SMSG_GM_TICKET_STATUS_UPDATE = 808,
		MSG_SET_DUNGEON_DIFFICULTY = 809,
		CMSG_GMSURVEY_SUBMIT = 810,
		SMSG_UPDATE_INSTANCE_OWNERSHIP = 811,
		CMSG_IGNORE_KNOCKBACK_CHEAT = 812,
		SMSG_CHAT_PLAYER_AMBIGUOUS = 813,
		MSG_DELAY_GHOST_TELEPORT = 814,
		SMSG_SPELLINSTAKILLLOG = 815,
		SMSG_SPELL_UPDATE_CHAIN_TARGETS = 816,
		CMSG_CHAT_FILTERED = 817,
		SMSG_EXPECTED_SPAM_RECORDS = 818,
		SMSG_SPELLSTEALLOG = 819,
		CMSG_LOTTERY_QUERY_OBSOLETE = 820,
		SMSG_LOTTERY_QUERY_RESULT_OBSOLETE = 821,
		CMSG_BUY_LOTTERY_TICKET_OBSOLETE = 822,
		SMSG_LOTTERY_RESULT_OBSOLETE = 823,
		SMSG_CHARACTER_PROFILE = 824,
		SMSG_CHARACTER_PROFILE_REALM_CONNECTED = 825,
		SMSG_DEFENSE_MESSAGE = 826,
		SMSG_INSTANCE_DIFFICULTY = 827,
		MSG_GM_RESETINSTANCELIMIT = 828,
		SMSG_MOTD = 829,
		SMSG_MOVE_SET_FLIGHT_OBSOLETE = 830,
		SMSG_MOVE_UNSET_FLIGHT_OBSOLETE = 831,
		CMSG_MOVE_FLIGHT_ACK_OBSOLETE = 832,
		MSG_MOVE_START_SWIM_CHEAT = 833,
		MSG_MOVE_STOP_SWIM_CHEAT = 834,
		SMSG_MOVE_SET_CAN_FLY = 835,
		SMSG_MOVE_UNSET_CAN_FLY = 836,
		CMSG_MOVE_SET_CAN_FLY_ACK = 837,
		CMSG_MOVE_SET_FLY = 838,
		CMSG_SOCKET_GEMS = 839,
		CMSG_ARENA_TEAM_CREATE = 840,
		SMSG_ARENA_TEAM_COMMAND_RESULT = 841,
		UMSG_UPDATE_ARENA_TEAM_OBSOLETE = 842,
		CMSG_ARENA_TEAM_QUERY = 843,
		SMSG_ARENA_TEAM_QUERY_RESPONSE = 844,
		CMSG_ARENA_TEAM_ROSTER = 845,
		SMSG_ARENA_TEAM_ROSTER = 846,
		CMSG_ARENA_TEAM_INVITE = 847,
		SMSG_ARENA_TEAM_INVITE = 848,
		CMSG_ARENA_TEAM_ACCEPT = 849,
		CMSG_ARENA_TEAM_DECLINE = 850,
		CMSG_ARENA_TEAM_LEAVE = 851,
		CMSG_ARENA_TEAM_REMOVE = 852,
		CMSG_ARENA_TEAM_DISBAND = 853,
		CMSG_ARENA_TEAM_LEADER = 854,
		SMSG_ARENA_TEAM_EVENT = 855,
		CMSG_BATTLEMASTER_JOIN_ARENA = 856,
		MSG_MOVE_START_ASCEND = 857,
		MSG_MOVE_STOP_ASCEND = 858,
		SMSG_ARENA_TEAM_STATS = 859,
		CMSG_LFG_JOIN = 860,
		CMSG_LFG_LEAVE = 861,
		CMSG_LFG_SEARCH_JOIN = 862,
		CMSG_LFG_SEARCH_LEAVE = 863,
		SMSG_LFG_SEARCH_RESULTS = 864,	// SMSG_UPDATE_LFG_LIST
		SMSG_LFG_PROPOSAL_UPDATE = 865,
		CMSG_LFG_PROPOSAL_RESPONSE = 866,
		SMSG_LFG_ROLE_CHECK_UPDATE = 867,
		SMSG_LFG_JOIN_RESULT = 868,
		SMSG_LFG_QUEUE_STATUS = 869,
		CMSG_SET_LFG_COMMENT = 870,
		SMSG_LFG_UPDATE_PLAYER = 871,
		SMSG_LFG_UPDATE_PARTY = 872,
		SMSG_LFG_UPDATE_SEARCH = 873,
		CMSG_LFG_SET_ROLES = 874,
		CMSG_LFG_SET_NEEDS = 875,
		CMSG_LFG_BOOT_PLAYER_VOTE = 876,
		SMSG_LFG_BOOT_PROPOSAL_UPDATE = 877,
		CMSG_LFG_GET_PLAYER_INFO = 878,
		SMSG_LFG_PLAYER_INFO = 879,
		CMSG_LFG_TELEPORT = 880,
		CMSG_LFG_GET_PARTY_INFO = 881,
		SMSG_LFG_PARTY_INFO = 882,
		SMSG_TITLE_EARNED = 883,
		CMSG_SET_TITLE = 884,
		CMSG_CANCEL_MOUNT_AURA = 885,
		SMSG_ARENA_ERROR = 886,
		MSG_INSPECT_ARENA_TEAMS = 887,
		SMSG_DEATH_RELEASE_LOC = 888,
		CMSG_CANCEL_TEMP_ENCHANTMENT = 889,
		SMSG_FORCED_DEATH_UPDATE = 890,
		CMSG_CHEAT_SET_HONOR_CURRENCY = 891,
		CMSG_CHEAT_SET_ARENA_CURRENCY = 892,
		MSG_MOVE_SET_FLIGHT_SPEED_CHEAT = 893,
		MSG_MOVE_SET_FLIGHT_SPEED = 894,
		MSG_MOVE_SET_FLIGHT_BACK_SPEED_CHEAT = 895,
		MSG_MOVE_SET_FLIGHT_BACK_SPEED = 896,
		SMSG_FORCE_FLIGHT_SPEED_CHANGE = 897,
		CMSG_FORCE_FLIGHT_SPEED_CHANGE_ACK = 898,
		SMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE = 899,
		CMSG_FORCE_FLIGHT_BACK_SPEED_CHANGE_ACK = 900,
		SMSG_SPLINE_SET_FLIGHT_SPEED = 901,
		SMSG_SPLINE_SET_FLIGHT_BACK_SPEED = 902,
		CMSG_MAELSTROM_INVALIDATE_CACHE = 903,
		SMSG_FLIGHT_SPLINE_SYNC = 904,
		CMSG_SET_TAXI_BENCHMARK_MODE = 905,

		/// <summary>
		/// Unused
		/// </summary>
		SMSG_JOINED_BATTLEGROUND_QUEUE = 906,

		SMSG_REALM_SPLIT = 907,
		CMSG_REALM_SPLIT = 908,
		CMSG_MOVE_CHNG_TRANSPORT = 909,
		MSG_PARTY_ASSIGNMENT = 910,
		SMSG_OFFER_PETITION_ERROR = 911,
		SMSG_TIME_SYNC_REQ = 912,
		CMSG_TIME_SYNC_RESP = 913,
		CMSG_SEND_LOCAL_EVENT = 914,
		CMSG_SEND_GENERAL_TRIGGER = 915,
		CMSG_SEND_COMBAT_TRIGGER = 916,
		CMSG_MAELSTROM_GM_SENT_MAIL = 917,
		SMSG_RESET_FAILED_NOTIFY = 918,
		SMSG_REAL_GROUP_UPDATE = 919,
		SMSG_LFG_DISABLED = 920,
		CMSG_ACTIVE_PVP_CHEAT = 921,
		CMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY = 922,
		SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE = 923,
		SMSG_CHEAT_DUMP_ITEMS_DEBUG_ONLY_RESPONSE_WRITE_FILE = 924,
		SMSG_UPDATE_COMBO_POINTS = 925,
		SMSG_VOICE_SESSION_ROSTER_UPDATE = 926,
		SMSG_VOICE_SESSION_LEAVE = 927,
		SMSG_VOICE_SESSION_ADJUST_PRIORITY = 928,
		CMSG_VOICE_SET_TALKER_MUTED_REQUEST = 929,
		SMSG_VOICE_SET_TALKER_MUTED = 930,
		SMSG_INIT_EXTRA_AURA_INFO_OBSOLETE = 931,
		SMSG_SET_EXTRA_AURA_INFO_OBSOLETE = 932,
		SMSG_SET_EXTRA_AURA_INFO_NEED_UPDATE_OBSOLETE = 933,
		SMSG_CLEAR_EXTRA_AURA_INFO_OBSOLETE = 934,
		MSG_MOVE_START_DESCEND = 935,
		CMSG_IGNORE_REQUIREMENTS_CHEAT = 936,
		SMSG_IGNORE_REQUIREMENTS_CHEAT = 937,
		SMSG_SPELL_CHANCE_PROC_LOG = 938,
		CMSG_MOVE_SET_RUN_SPEED = 939,
		SMSG_DISMOUNT = 940,
		MSG_MOVE_UPDATE_CAN_FLY = 941,
		MSG_RAID_READY_CHECK_CONFIRM = 942,
		CMSG_VOICE_SESSION_ENABLE = 943,
		SMSG_VOICE_SESSION_ENABLE = 944,
		SMSG_VOICE_PARENTAL_CONTROLS = 945,
		CMSG_GM_WHISPER = 946,
		/// <summary>
		/// byte chatType
		/// int
		/// ulong
		/// int
		/// if ( chatType == MonsterSay (12) || chatType == MonsterParty (13) || chatType == MonsterYell (14) || chatType == MonsterWhisper (15)
		///      || chatType == MonsterEmote (16) || chatType == RaidBossWhisper (41) || || chatType == RaidBossEmote (42) || chatType == BN (47) )
		/// {
		///     int str1Len
		///     byte[str1Len] str1Data
		///     ulong guid2
		///     if ((guid2.HighPart & 0xF0400000) != 0) // if its not a player and not a pet
		///     {
		///         int str2Len
		///         byte[str2Len] str2Data
		///     }
		///     int str3Len
		///     byte[str3Len] str3Data
		///     byte chatTag
		/// }
		/// if (chatType == WhisperInform (8))
		/// {
		///     int str1Len
		///     byte[str1Len] str1Data
		///     ulong guid2
		///     int str2Len
		///     byte[str2Len] str2Data
		///     byte chatTag
		/// }
		/// if ( chatType == BGSystemNeutral (36) || chatType == BGSystemAlliance (37) || chatType == BGSystemHorde (38) )
		/// {
		///     ulong guid2
		///     if ((guid2.HighPart & 0xF0000000) != 0)
		///     {
		///         int str1Len
		///         byte[str1Len] str1Data
		///     }
		///     int str2Len
		///     byte[str2Len] str2Data
		///     byte chatTag
		/// }
		/// if ( chatType == Type_48 (48) || chatType == Type_49 (49) )
		/// {
		///     ulong guid2
		///     int str1Len
		///     byte[str1Len] str1Data
		///     byte chatTag
		///     int
		/// }
		/// if (isGMMessageOpcode)
		/// {
		///     int gmMsgLen
		///     byte[gmMsgLen] msg?
		/// }
		/// if (chatType == Channel (17))
		/// {
		///     cstring channelName
		/// }
		/// ulong
		/// int strLen
		/// byte[strLen] str
		/// byte chatTag
		/// </summary>
		SMSG_GM_MESSAGECHAT = 947,
		MSG_GM_GEARRATING = 948,
		CMSG_COMMENTATOR_ENABLE = 949,
		SMSG_COMMENTATOR_STATE_CHANGED = 950,
		CMSG_COMMENTATOR_GET_MAP_INFO = 951,
		SMSG_COMMENTATOR_MAP_INFO = 952,
		CMSG_COMMENTATOR_GET_PLAYER_INFO = 953,
		SMSG_COMMENTATOR_GET_PLAYER_INFO = 954,
		SMSG_COMMENTATOR_PLAYER_INFO = 955,
		CMSG_COMMENTATOR_ENTER_INSTANCE = 956,
		CMSG_COMMENTATOR_EXIT_INSTANCE = 957,
		CMSG_COMMENTATOR_INSTANCE_COMMAND = 958,
		SMSG_CLEAR_TARGET = 959,
		CMSG_BOT_DETECTED = 960,
		SMSG_CROSSED_INEBRIATION_THRESHOLD = 961,
		CMSG_CHEAT_PLAYER_LOGIN = 962,
		CMSG_CHEAT_PLAYER_LOOKUP = 963,
		SMSG_CHEAT_PLAYER_LOOKUP = 964,
		SMSG_KICK_REASON = 965,
		MSG_RAID_READY_CHECK_FINISHED = 966,
		CMSG_COMPLAIN = 967,
		SMSG_COMPLAIN_RESULT = 968,
		SMSG_FEATURE_SYSTEM_STATUS = 969,
		CMSG_GM_SHOW_COMPLAINTS = 970,
		CMSG_GM_UNSQUELCH = 971,
		CMSG_CHANNEL_SILENCE_VOICE = 972,
		CMSG_CHANNEL_SILENCE_ALL = 973,
		CMSG_CHANNEL_UNSILENCE_VOICE = 974,
		CMSG_CHANNEL_UNSILENCE_ALL = 975,
		CMSG_TARGET_CAST = 976,
		CMSG_TARGET_SCRIPT_CAST = 977,
		CMSG_CHANNEL_DISPLAY_LIST = 978,
		CMSG_SET_ACTIVE_VOICE_CHANNEL = 979,
		CMSG_GET_CHANNEL_MEMBER_COUNT = 980,
		SMSG_CHANNEL_MEMBER_COUNT = 981,
		CMSG_CHANNEL_VOICE_ON = 982,
		CMSG_CHANNEL_VOICE_OFF = 983,
		CMSG_DEBUG_LIST_TARGETS = 984,
		SMSG_DEBUG_LIST_TARGETS = 985,
		SMSG_AVAILABLE_VOICE_CHANNEL = 986,
		CMSG_ADD_VOICE_IGNORE = 987,
		CMSG_DEL_VOICE_IGNORE = 988,
		CMSG_PARTY_SILENCE = 989,
		CMSG_PARTY_UNSILENCE = 990,
		MSG_NOTIFY_PARTY_SQUELCH = 991,
		SMSG_COMSAT_RECONNECT_TRY = 992,
		SMSG_COMSAT_DISCONNECT = 993,
		SMSG_COMSAT_CONNECT_FAIL = 994,
		SMSG_VOICE_CHAT_STATUS = 995,
		CMSG_REPORT_PVP_AFK = 996,
		CMSG_REPORT_PVP_AFK_RESULT = 997,
		CMSG_GUILD_BANKER_ACTIVATE = 998,
		CMSG_GUILD_BANK_QUERY_TAB = 999,
		SMSG_GUILD_BANK_LIST = 1000,
		CMSG_GUILD_BANK_SWAP_ITEMS = 1001,
		CMSG_GUILD_BANK_BUY_TAB = 1002,
		CMSG_GUILD_BANK_UPDATE_TAB = 1003,
		CMSG_GUILD_BANK_DEPOSIT_MONEY = 1004,
		CMSG_GUILD_BANK_WITHDRAW_MONEY = 1005,
		MSG_GUILD_BANK_LOG_QUERY = 1006,
		CMSG_SET_CHANNEL_WATCH = 1007,
		SMSG_USERLIST_ADD = 1008,
		SMSG_USERLIST_REMOVE = 1009,
		SMSG_USERLIST_UPDATE = 1010,
		CMSG_CLEAR_CHANNEL_WATCH = 1011,
		SMSG_INSPECT_TALENT = 1012,
		SMSG_GOGOGO_OBSOLETE = 1013,
		SMSG_ECHO_PARTY_SQUELCH = 1014,
		CMSG_SET_TITLE_SUFFIX = 1015,
		CMSG_SPELLCLICK = 1016,
		SMSG_LOOT_LIST = 1017,
		CMSG_GM_CHARACTER_RESTORE = 1018,
		CMSG_GM_CHARACTER_SAVE = 1019,
		SMSG_VOICESESSION_FULL = 1020,
		MSG_GUILD_PERMISSIONS = 1021,
		MSG_GUILD_BANK_MONEY_WITHDRAWN = 1022,
		MSG_GUILD_EVENT_LOG_QUERY = 1023,
		CMSG_MAELSTROM_RENAME_GUILD = 1024,
		CMSG_GET_MIRRORIMAGE_DATA = 1025,
		SMSG_MIRRORIMAGE_DATA = 1026,
		SMSG_FORCE_DISPLAY_UPDATE = 1027,
		SMSG_SPELL_CHANCE_RESIST_PUSHBACK = 1028,
		CMSG_IGNORE_DIMINISHING_RETURNS_CHEAT = 1029,
		SMSG_IGNORE_DIMINISHING_RETURNS_CHEAT = 1030,
		CMSG_KEEP_ALIVE = 1031,
		SMSG_RAID_READY_CHECK_ERROR = 1032,
		CMSG_OPT_OUT_OF_LOOT = 1033,
		MSG_QUERY_GUILD_BANK_TEXT = 1034,
		CMSG_SET_GUILD_BANK_TEXT = 1035,
		CMSG_SET_GRANTABLE_LEVELS = 1036,
		CMSG_GRANT_LEVEL = 1037,
		CMSG_REFER_A_FRIEND = 1038,
		MSG_GM_CHANGE_ARENA_RATING = 1039,
		CMSG_DECLINE_CHANNEL_INVITE = 1040,
		CMSG_GROUPACTION_THROTTLED = 1041,
		SMSG_OVERRIDE_LIGHT = 1042,
		SMSG_TOTEM_CREATED = 1043,
		CMSG_TOTEM_DESTROYED = 1044,
		CMSG_EXPIRE_RAID_INSTANCE = 1045,
		CMSG_NO_SPELL_VARIANCE = 1046,
		CMSG_QUESTGIVER_STATUS_MULTIPLE_QUERY = 1047,
		SMSG_QUESTGIVER_STATUS_MULTIPLE = 1048,
		CMSG_SET_PLAYER_DECLINED_NAMES = 1049,
		SMSG_SET_PLAYER_DECLINED_NAMES_RESULT = 1050,
		CMSG_QUERY_SERVER_BUCK_DATA = 1051,
		CMSG_CLEAR_SERVER_BUCK_DATA = 1052,
		SMSG_SERVER_BUCK_DATA = 1053,
		SMSG_SEND_UNLEARN_SPELLS = 1054,
		SMSG_PROPOSE_LEVEL_GRANT = 1055,
		CMSG_ACCEPT_LEVEL_GRANT = 1056,
		SMSG_REFER_A_FRIEND_FAILURE = 1057,
		SMSG_SPLINE_MOVE_SET_FLYING = 1058,
		SMSG_SPLINE_MOVE_UNSET_FLYING = 1059,
		SMSG_SUMMON_CANCEL = 1060,
		CMSG_CHANGE_PERSONAL_ARENA_RATING = 1061,
		CMSG_ALTER_APPEARANCE = 1062,
		SMSG_ENABLE_BARBER_SHOP = 1063,
		SMSG_BARBER_SHOP_RESULT = 1064,

		/* Calendar Event Flags
		 * 0x1 - Player
		 * 0x4 - System
		 * 0x8 - Holiday
		 * 
		 * 0x40 - Guild Announcement (Also invites disabled)
		 * 0x80 - Raid Lockout
		 * 0x200 - Raid Reset
		 * 0x400 - Guild Event
		 * 
		 * 
		 * 
		 * 
		 * 
		 * */


		/// <summary>
		/// Empty
		/// </summary>
		CMSG_CALENDAR_GET_CALENDAR = 1065,
		/// <summary>
		/// ulong guid? or some kind of id
		/// </summary>
		CMSG_CALENDAR_GET_EVENT = 1066,
		/// <summary>
		/// Might be a bad name, as its
		/// called from lua_CalendarMassInviteGuild
		/// int minLevel
		/// int maxLevel
		/// int minRank
		/// </summary>
		CMSG_CALENDAR_GUILD_FILTER = 1067,
		/// <summary>
		/// int arenaId?
		/// </summary>
		CMSG_CALENDAR_ARENA_TEAM = 1068,
		/// <summary>
		/// cstring Title
		/// cstring Description
		/// byte eventType
		/// byte resetOption
		/// int maxSize
		/// int
		/// packedDate eventDate
		/// packedDate lockoutDate
		/// int eventFlags
		/// if ((eventFlags & CalendarEventFlags.GuildAnnouncement) == 0)
		/// {
		///     int count
		///     for (count)
		///     {
		///         pguid player (yes the client writes a pguid)
		///         byte
		///         byte
		///     }
		/// }
		/// </summary>
		CMSG_CALENDAR_ADD_EVENT = 1069,
		/// <summary>
		/// ulong eventId?
		/// ulong creator?
		/// cstring Title
		/// cstring Description
		/// byte eventType
		/// byte resetOption
		/// int maxSize
		/// int
		/// packedDate eventDate
		/// packedDate lockoutDate
		/// int eventFlags
		/// </summary>
		CMSG_CALENDAR_UPDATE_EVENT = 1070,
		/// <summary>
		/// ulong
		/// ulong
		/// int
		/// </summary>
		CMSG_CALENDAR_REMOVE_EVENT = 1071,
		/// <summary>
		/// ulong
		/// ulong
		/// packedDate
		/// </summary>
		CMSG_CALENDAR_COPY_EVENT = 1072,
		/// <summary>
		/// ulong eventId
		/// ulong creatorGuid
		/// cstring name? eventName?
		/// byte
		/// byte isGuildEvent
		/// </summary>
		CMSG_CALENDAR_EVENT_INVITE = 1073,
		/// <summary>
		/// ulong
		/// ulong
		/// int
		/// </summary>
		CMSG_CALENDAR_EVENT_RSVP = 1074,
		/// <summary>
		/// pguid
		/// ulong
		/// ulong
		/// ulong
		/// 
		/// </summary>
		CMSG_CALENDAR_EVENT_REMOVE_INVITE = 1075,
		/// <summary>
		/// pguid
		/// ulong
		/// ulong
		/// ulong
		/// int
		/// </summary>
		CMSG_CALENDAR_EVENT_STATUS = 1076,
		/// <summary>
		/// pguid
		/// ulong
		/// ulong
		/// ulong
		/// int
		/// </summary>
		CMSG_CALENDAR_EVENT_MODERATOR_STATUS = 1077,
		/// <summary>
		/// int inviteCount
		/// for (inviteCount)
		/// {
		///     ulong
		///     ulong
		///     byte
		///     byte
		///     byte
		///     pguid
		/// }
		/// int eventCount
		/// for (eventCount)
		/// {
		///     ulong
		///     cstring
		///     int
		///     int
		///     int eventFlags
		///     int
		///     pguid
		///     
		/// }
		/// 
		/// int unixTime?
		/// packedDate currentDate
		/// 
		/// int instanceSaveCount
		/// for (instanceSaveCount)
		/// {
		///     int mapId
		///     int difficulty
		///     int timeUntilReset
		///     ulong instanceId
		/// }
		/// 
		/// int
		/// int instanceResetCount
		/// for (instanceResetCount)
		/// {
		///     int
		///     int
		///     int
		/// }
		/// int count5
		/// for (count5)
		/// {
		///     int
		///     int
		///     int
		///     int
		///     int
		///     for (26)
		///     {
		///         int
		///     }
		///     for (10)
		///     {
		///         int
		///     }
		///     for (10)
		///     {
		///         int
		///     }
		///     cstring
		/// }
		/// </summary>
		SMSG_CALENDAR_SEND_CALENDAR = 1078,
		/// <summary>
		/// byte type?
		/// 
		/// pguid
		/// ulong
		/// cstring
		/// cstring
		/// byte
		/// byte
		/// int
		/// int
		/// int
		/// packedDate
		/// packedDate
		/// 
		/// int count1
		/// for (count1)
		/// {
		///     pguid
		///     byte
		///     byte
		///     byte
		///     byte
		///     ulong
		///     int
		/// }
		/// 
		/// </summary>
		SMSG_CALENDAR_SEND_EVENT = 1079,
		/// <summary>
		/// int count
		/// for (count)
		/// {
		///     pguid
		///     byte
		/// }
		/// </summary>
		SMSG_CALENDAR_FILTER_GUILD = 1080,
		/// <summary>
		/// Exact same handler as 1080
		/// int count
		/// for (count)
		/// {
		///     pguid
		///     byte
		/// }
		/// </summary>
		SMSG_CALENDAR_ARENA_TEAM = 1081,
		/// <summary>
		/// pguid
		/// ulong eventId
		/// ulong
		/// byte
		/// byte
		/// byte b3
		/// if (b3 == 1)
		/// {
		///     int
		/// }
		/// byte
		/// </summary>
		SMSG_CALENDAR_EVENT_INVITE = 1082,
		/// <summary>
		/// pguid playerGuid
		/// ulong eventId
		/// byte
		/// </summary>
		SMSG_CALENDAR_EVENT_INVITE_REMOVED = 1083,
		/// <summary>
		/// pguid
		/// ulong
		/// int
		/// int
		/// byte
		/// byte
		/// int
		/// </summary>
		SMSG_CALENDAR_EVENT_STATUS = 1084,
		/// <summary>
		/// int (seems to be ignored)
		/// cstring
		/// cstring extra
		/// int error
		/// 
		/// Errors
		/// "CALENDAR_ERROR_GUILD_EVENTS_EXCEEDED" = 1,
		/// "CALENDAR_ERROR_EVENTS_EXCEEDED" = 2,
		/// "CALENDAR_ERROR_SELF_INVITES_EXCEEDED" = 3,
		/// "CALENDAR_ERROR_OTHER_INVITES_EXCEEDED" = 4, (extra string used)
		/// "CALENDAR_ERROR_PERMISSIONS" = 5,
		/// "CALENDAR_ERROR_EVENT_INVALID" = 6,
		/// "CALENDAR_ERROR_NOT_INVITED" = 7,
		/// "CALENDAR_ERROR_INTERNAL" = 8,
		/// "ERR_GUILD_PLAYER_NOT_IN_GUILD" = 9,
		/// "CALENDAR_ERROR_ALREADY_INVITED_TO_EVENT_S" = 10, (extra string used)
		/// "PLAYER_NOT_FOUND" = 11,
		/// "CALENDAR_ERROR_NOT_ALLIED" = 12,
		/// "ERR_IGNORING_YOU_S" = 13, (extra string used)
		/// "CALENDAR_ERROR_INVITES_EXCEEDED" = 14,
		/// "CALENDAR_ERROR_INVALID_DATE" = 16,
		/// "CALENDAR_ERROR_INVALID_TIME" = 17,
		/// "CALENDAR_ERROR_NEEDS_TITLE" = 19,
		/// "CALENDAR_ERROR_EVENT_PASSED" = 20,
		/// "CALENDAR_ERROR_EVENT_LOCKED" = 21,
		/// "CALENDAR_ERROR_DELETE_CREATOR_FAILED" = 22,
		/// "ERR_SYSTEM_DISABLED" = 24,
		/// "ERR_RESTRICTED_ACCOUNT" = 25,
		/// "CALENDAR_ERROR_ARENA_EVENTS_EXCEEDED" = 26,
		/// "CALENDAR_ERROR_RESTRICTED_LEVEL" = 27,
		/// "ERR_USER_SQUELCHED" = 28,
		/// "CALENDAR_ERROR_NO_INVITE" = 29,
		/// "CALENDAR_ERROR_EVENT_WRONG_SERVER" = 36,
		/// "CALENDAR_ERROR_INVITE_WRONG_SERVER" = 37,
		/// "CALENDAR_ERROR_NO_GUILD_INVITES" = 38,
		/// "CALENDAR_ERROR_INVALID_SIGNUP" = 39,
		/// "CALENDAR_ERROR_NO_MODERATOR" = 40,
		/// </summary>
		SMSG_CALENDAR_COMMAND_RESULT = 1085,
		/// <summary>
		/// packedDate lockoutTime?
		/// int
		/// int
		/// int
		/// ulong
		/// </summary>
		SMSG_CALENDAR_RAID_LOCKOUT_ADDED = 1086,
		/// <summary>
		/// int i1
		/// if (i1 < 0)
		/// {
		///     stop
		/// }
		/// int
		/// int
		/// ulong
		/// </summary>
		SMSG_CALENDAR_RAID_LOCKOUT_REMOVED = 1087,
		/// <summary>
		/// ulong
		/// cstring
		/// packedDate date
		/// int eventFlags
		/// int
		/// int
		/// ulong
		/// byte
		/// byte
		/// pguid
		/// pguid
		/// </summary>
		SMSG_CALENDAR_EVENT_INVITE_ALERT = 1088,
		/// <summary>
		/// ulong eventId
		/// packedDate date
		/// int eventFlags
		/// </summary>
		SMSG_CALENDAR_EVENT_INVITE_REMOVED_ALERT = 1089,
		/// <summary>
		/// ulong eventId
		/// packedDate date
		/// int eventFlags
		/// byte
		/// </summary>
		SMSG_CALENDAR_EVENT_INVITE_STATUS_ALERT = 1090,
		/// <summary>
		/// byte
		/// ulong
		/// packedDate date
		/// </summary>
		SMSG_CALENDAR_EVENT_REMOVED_ALERT = 1091,
		/// <summary>
		/// byte
		/// ulong
		/// int
		/// int eventFlags
		/// int
		/// byte
		/// int
		/// cstring
		/// </summary>
		SMSG_CALENDAR_EVENT_UPDATED_ALERT = 1092,
		/// <summary>
		/// pguid
		/// ulong
		/// byte
		/// byte
		/// </summary>
		SMSG_CALENDAR_EVENT_MODERATOR_STATUS_ALERT = 1093,
		CMSG_CALENDAR_COMPLAIN = 1094,
		CMSG_CALENDAR_GET_NUM_PENDING = 1095,
		/// <summary>
		/// int numPending
		/// </summary>
		SMSG_CALENDAR_SEND_NUM_PENDING = 1096,
		CMSG_SAVE_DANCE = 1097,
		/// <summary>
		/// int flag
		/// if (flag & 0x8)
		/// {
		///     int
		/// }
		/// else 
		/// {
		///     int
		///     int
		/// }
		/// </summary>
		SMSG_NOTIFY_DANCE = 1098,
		CMSG_PLAY_DANCE = 1099,
		/// <summary>
		/// ulong guid, 
		/// int danceId (used to lookup in cache),
		/// int,
		/// int,
		/// int
		/// </summary>
		SMSG_PLAY_DANCE = 1100,
		CMSG_LOAD_DANCES = 1101,
		CMSG_STOP_DANCE = 1102,
		/// <summary>
		/// ulong player guid
		/// </summary>
		SMSG_STOP_DANCE = 1103,
		CMSG_SYNC_DANCE = 1104,
		CMSG_DANCE_QUERY = 1105,
		/// <summary>
		/// dance query response
		/// int id [ if (id & 0x80000000) do nothing]
		/// pguid creator?
		/// cstring (128 max) name?
		/// int bufferSize
		/// byte[bufferSize*4]
		/// int
		/// </summary>
		SMSG_DANCE_QUERY_RESPONSE = 1106,
		SMSG_INVALIDATE_DANCE = 1107,
		CMSG_DELETE_DANCE = 1108,
		/// <summary>
		/// learn dance move?
		/// ulong mask
		/// </summary>
		SMSG_LEARNED_DANCE_MOVES = 1109,
		CMSG_LEARN_DANCE_MOVE = 1110,
		CMSG_UNLEARN_DANCE_MOVE = 1111,
		CMSG_SET_RUNE_COUNT = 1112,
		CMSG_SET_RUNE_COOLDOWN = 1113,
		MSG_MOVE_SET_PITCH_RATE_CHEAT = 1114,
		/// <summary>
		/// pguid unitGuid
		/// float
		/// </summary>
		MSG_MOVE_SET_PITCH_RATE = 1115,
		SMSG_FORCE_PITCH_RATE_CHANGE = 1116,
		CMSG_FORCE_PITCH_RATE_CHANGE_ACK = 1117,
		/// <summary>
		/// pguid unitGuid
		/// float
		/// </summary>
		SMSG_SPLINE_SET_PITCH_RATE = 1118,
		SMSG_MOVE_ABANDON_TRANSPORT = 1119,
		MSG_MOVE_ABANDON_TRANSPORT = 1120,
		CMSG_MOVE_ABANDON_TRANSPORT_ACK = 1121,
		CMSG_UPDATE_MISSILE_TRAJECTORY = 1122,
		/// <summary>
		/// int
		/// int. 
		/// client does nothing with values
		/// </summary>
		SMSG_UPDATE_ACCOUNT_DATA_COMPLETE = 1123,
		/// <summary>
		/// int
		/// </summary>
		SMSG_TRIGGER_MOVIE = 1124,
		CMSG_COMPLETE_MOVIE = 1125,
		CMSG_SET_GLYPH_SLOT = 1126,
		CMSG_SET_GLYPH = 1127,
		/// <summary>
		/// pguid recipient
		/// int achievementId (Achievement.dbc)
		/// 
		/// </summary>
		SMSG_ACHIEVEMENT_EARNED = 1128,
		SMSG_DYNAMIC_DROP_ROLL_RESULT = 1129,
		/// <summary>
		/// int criteriaId (AchievementCriteria.dbc)
		/// pguid
		/// pguid
		/// int
		/// int packedDate
		/// int time (client calculates time(NULL) - this for something)
		/// int time2 (client calculates time(NULL) - this for something)
		/// </summary>
		SMSG_CRITERIA_UPDATE = 1130,
		/// <summary>
		/// pguid of comparison player
		/// </summary>
		CMSG_QUERY_INSPECT_ACHIEVEMENTS = 1131,
		SMSG_RESPOND_INSPECT_ACHIEVEMENTS = 1132,
		CMSG_DISMISS_CONTROLLED_VEHICLE = 1133,
		CMSG_COMPLETE_ACHIEVEMENT_CHEAT = 1134,
		/// <summary>
		/// int questId
		/// int
		/// </summary>
		SMSG_QUESTUPDATE_ADD_PVP_KILL = 1135,
		CMSG_SET_CRITERIA_CHEAT = 1136,
		SMSG_GROUP_SWAP_FAILED = 1137,
		CMSG_UNITANIMTIER_CHEAT = 1138,
		CMSG_CHAR_CUSTOMIZE = 1139,
		/// <summary>
		/// Char customize
		/// byte
		/// if (more data in packet)
		/// {
		///     ulong guid
		///     cstring
		///     byte
		///     byte
		///     byte
		///     byte
		///     byte
		///     byte
		/// }
		/// </summary>
		SMSG_CHAR_CUSTOMIZE = 1140,
		/// <summary>
		/// Empty
		/// </summary>
		SMSG_PET_RENAMEABLE = 1141,
		CMSG_REQUEST_VEHICLE_EXIT = 1142,
		CMSG_REQUEST_VEHICLE_PREV_SEAT = 1143,
		CMSG_REQUEST_VEHICLE_NEXT_SEAT = 1144,
		CMSG_REQUEST_VEHICLE_SWITCH_SEAT = 1145,
		/// <summary>
		/// guid, int, int
		/// </summary>
		CMSG_PET_LEARN_TALENT = 1146,
		CMSG_PET_UNLEARN_TALENTS = 1147,
		/// <summary>
		/// int
		/// </summary>
		SMSG_SET_PHASE_SHIFT = 1148,
		SMSG_ALL_ACHIEVEMENT_DATA = 1149,
		CMSG_FORCE_SAY_CHEAT = 1150,
		/// <summary>
		/// Used if cvar "predictedHealth" is true
		/// pguid
		/// uint newValue
		/// </summary>
		SMSG_HEALTH_UPDATE = 1151,
		/// <summary>
		/// Used if cvar "predictedPower" is true
		/// pguid
		/// byte powerType
		/// uint newValue
		/// </summary>
		SMSG_POWER_UPDATE = 1152,
		/// <summary>
		/// ulong guid
		/// </summary>
		CMSG_GAMEOBJ_REPORT_USE = 1153,
		/// <summary>
		/// pguid
		/// pguid newPrimaryTarget
		/// int count
		/// for(count)
		/// { pguid, int }
		/// </summary>
		SMSG_HIGHEST_THREAT_UPDATE = 1154,
		/// <summary>
		/// pguid, int count, for(count) { pguid, int }
		/// </summary>
		SMSG_THREAT_UPDATE = 1155,
		/// <summary>
		/// pguid, pguid
		/// </summary>
		SMSG_THREAT_REMOVE = 1156,
		/// <summary>
		/// pguid
		/// </summary>
		SMSG_THREAT_CLEAR = 1157,
		SMSG_CONVERT_RUNE = 1158,
		/// <summary>
		/// int count, stored in dword_1175648
		/// for (count) 
		/// { 
		///     byte
		///     byte
		/// }
		/// </summary>
		SMSG_RESYNC_RUNES = 1159,
		/// <summary>
		/// int mask
		/// </summary>
		SMSG_ADD_RUNE_POWER = 1160,
		CMSG_START_QUEST = 1161,
		/// <summary>
		/// int index
		/// </summary>
		CMSG_REMOVE_GLYPH = 1162,
		/// <summary>
		/// Debug Client only
		/// </summary>
		CMSG_DUMP_OBJECTS = 1163,
		/// <summary>
		/// Debug Client only
		/// </summary>
		SMSG_DUMP_OBJECTS_DATA = 1164,
		/// <summary>
		/// ulong guid
		/// </summary>
		CMSG_DISMISS_CRITTER = 1165,
		/// <summary>
		/// read as byte[56], but actually has a struct
		/// ulong guid
		/// int spellId
		/// float
		/// float
		/// float
		/// float
		/// float
		/// float
		/// int
		/// int
		/// int
		/// int
		/// </summary>
		SMSG_NOTIFY_DEST_LOC_SPELL_CAST = 1166,
		CMSG_AUCTION_LIST_PENDING_SALES = 1167,
		SMSG_AUCTION_LIST_PENDING_SALES = 1168,
		/// <summary>
		/// int a1, ulong guid, int a2. If a1 > 0, call sub_768A20
		/// </summary>
		SMSG_MODIFY_COOLDOWN = 1169,
		/// <summary>
		/// pguid petGuid
		/// pguid targetGuid
		/// byte comboPoints
		/// </summary>
		SMSG_PET_UPDATE_COMBO_POINTS = 1170,
		CMSG_ENABLETAXI = 1171,
		/// <summary>
		/// pguid
		/// </summary>
		SMSG_PRE_RESURRECT = 1172,
		/// <summary>
		/// pguid unit
		/// 
		/// until end (up to 256 bytes)
		/// {
		///     byte index
		///     int spellId
		///         if (spellId > 0)
		///         {
		///             byte flags;
		///             byte level;
		///             byte count;
		///           
		///             if (flags & 8)
		///             {
		///                 caster is unit.guid
		///             }
		///             else
		///             {
		///                 caster = read pguid
		///             }
		///             
		///             if (flags & 0x20)			
		///             {
		///                 // these 2 may be the same
		///                 int duration;
		///                 int mstimelength; // this is added to current mstime to calculate expiration
		///                 
		///                 expiration = currentmstime + mstimelength
		///                 if ((mstimelength+currentmstime) == 0)
		///                 { 
		///                     expiration = 1;
		///                 }
		///                 
		///             }
		///             else
		///             {
		///                 duration = 0;
		///                 expiration = 0;
		///             }
		///         }
		/// }
		/// </summary>
		SMSG_AURA_UPDATE_ALL = 1173,
		SMSG_AURA_UPDATE = 1174,
		CMSG_FLOOD_GRACE_CHEAT = 1175,
		/// <summary>
		/// guid, int achievementId, int type. if type > 0, "PLAYER_SERVER_FIRST_ACHIEVEMENT", else "SERVER_FIRST_ACHIEVEMENT"
		/// </summary>
		SMSG_SERVER_FIRST_ACHIEVEMENT = 1176,
		/// <summary>
		/// ushort spellId
		/// </summary>
		SMSG_PET_LEARNED_SPELL = 1177,
		/// <summary>
		/// 1178
		/// ushort spellId
		/// </summary>
		SMSG_PET_REMOVED_SPELL = 1178,
		CMSG_CHANGE_SEATS_ON_CONTROLLED_VEHICLE = 1179,
		/// <summary>
		/// Called when leaving Wintergrasp PVP zone
		/// </summary>
		CMSG_HEARTH_AND_RESURRECT = 1180,
		SMSG_ON_CANCEL_EXPECTED_RIDE_VEHICLE_AURA = 1181,
		/// <summary>
		/// int criteriaId
		/// </summary>
		SMSG_CRITERIA_DELETED = 1182,
		/// <summary>
		/// int achievementId
		/// </summary>
		SMSG_ACHIEVEMENT_DELETED = 1183,
		CMSG_SERVER_INFO_QUERY = 1184, // not used
		SMSG_SERVER_INFO_RESPONSE = 1185,// not used
		CMSG_CHECK_LOGIN_CRITERIA = 1186,// not used
		SMSG_SERVER_BUCK_DATA_START = 1187,
		CMSG_QUERY_VEHICLE_STATUS = 1188,// not used
		// no 1189
		SMSG_1190 = 1190,
		/// <summary>
		/// Vehicle related
		/// pguid unitGuid
		/// int vehicleId (Vehicle.dbc)
		/// </summary>
		SMSG_PLAYER_VEHICLE_DATA = 1191,
		/// <summary>
		/// Activates a service? called from the same method that sends out other NPCFlag related "hello" opcodes
		/// guid
		/// </summary>
		CMSG_PLAYER_VEHICLE_ENTER = 1192,
		/// <summary>
		/// guid passengerId
		/// </summary>
		CMSG_EJECT_PASSENGER = 1193,
		/// <summary>
		/// int count
		/// for (count)
		/// {
		///     guid
		/// }
		/// </summary>
		SMSG_PET_GUIDS = 1194,

		/// <summary>
		/// Structure:
		/// 
		/// uint32: version
		/// 
		/// TODO: Use this!
		/// </summary>
		SMSG_CLIENTCACHE_VERSION = 1195, // 1190 in 3.0.9
		// no 1196
		// no 1197
		// no 1198
		// no 1199
		// no 1200
		// no 1201
		/// <summary>
		/// int64 itemGuid
		/// int
		/// int honorPoints
		/// int arenaPoints
		/// for (5)
		/// {
		///     int tokenItemId
		///     int tokenCount
		/// }
		/// int
		/// int
		/// </summary>
		SMSG_ITEM_REFUND_INFO_RESPONSE = 1202,
		/// <summary>
		/// refund request?
		/// int64 guid
		/// </summary>
		CMSG_ITEM_REFUND_INFO_REQUEST = 1203,
		/// <summary>
		/// lua_ContainerRefundItemPurchase
		/// int64 itemGuid
		/// </summary>
		CMSG_ITEM_REFUND = 1204, // prolly info request, somesort
		/// <summary>
		/// int64 itemGuid
		/// int response
		/// if (response)
		/// {
		///     "UNABLE_TO_REFUND_ITEM"
		///     packet ends
		/// }
		/// int
		/// int honorPoints
		/// int arenaPoints
		/// for (5)
		/// {
		///     int tokenItemId
		///     int tokenCount
		/// }
		/// </summary>
		SMSG_ITEM_REFUND_RESULT = 1205,
		/// <summary>
		/// int - same as new last int sent in MSG_CORPSE_QUERY (corpse low guid)
		/// </summary>
		CMSG_CORPSE_MAP_POSITION_QUERY = 1206,
		/// <summary>
		/// 4*float
		/// </summary>
		SMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE = 1207,
		/// <summary>
		/// Not used anymore
		/// lua_SetLFGRoles
		/// byte roleMask
		/// 0x1 - leader
		/// 0x2 - tank
		/// 0x4 - healer
		/// 0x8 - damage
		/// </summary>
		_UNUSED_1208 = 1208,
		/// <summary>
		/// Not in client as of 9733
		/// </summary>
		_UNUSED_1209 = 1209,
		/// <summary>
		/// lua_CalendarContextEventSignUp
		/// int64
		/// </summary>
		CMSG_CALENDAR_CONTEXT_EVENT_SIGNUP = 1210,
		SMSG_CALENDAR_ACTION_PENDING = 1211,
		/// <summary>
		/// For equipment manager.
		/// int setCount
		/// for (setCount)
		/// {
		///     pguid
		///     int setId
		///     cstring
		///     cstring
		///     for (19)
		///     {
		///         pguid itemGuid (corresponds to inventoryslot)
		///     }
		/// }
		/// </summary>
		SMSG_EQUIPMENT_SET_LIST = 1212,
		/// <summary>
		/// lua_SaveEquipmentSet
		/// Set equipment set
		/// pguid - maybe not an actual object guid, but a set identifier? only this is sent in the delete set packet
		/// int setId
		/// cstring
		/// cstring
		/// for (19)
		/// {
		///     pguid itemGuid (corresponds to inventoryslot)
		/// } 
		/// </summary>
		CMSG_SET_EQUIPMENT_SET = 1213,
		/// <summary>
		/// called from CMissile::CalcPosition
		/// int64 guid
		/// int
		/// byte
		/// byte[12] (read as 12 bytes, could be vector3?)
		/// </summary>
		CMSG_UPDATE_MISSILE_POSITION = 1214,
		/// <summary>
		/// int64
		/// byte
		/// float
		/// float
		/// float
		/// </summary>
		SMSG_SET_PROJECTILE_POSITION = 1215,
		/// <summary>
		/// byte type - branches to 2 diff structs depending on this
		/// if (type == 1) // pet
		/// {
		///     int unspentTalentPoints
		///     byte talentCount
		///     for (talentCount)
		///     {
		///         int talentId (Talent.dbc)
		///         byte rank
		///     }
		/// }
		/// if (type == 0) // player
		/// {
		///     int unspentTalentPoints
		///     byte talentGroupCount (1 or 2)
		///     byte talentGroupIndex (0 or 1)
		///     if (talentGroupCount) // when would this not occur? unless count can be 0?
		///     {
		///         for (talentGroupCount)
		///         {
		///             byte talentIdCount
		///             for (talentIdCount)
		///             {
		///                 int talentId (Talent.dbc)
		///                 byte rank (0 is 1 point, 4 is 5 points)
		///             }
		///             byte glyphCount (up to 6)
		///             for (glyphCount)
		///             {
		///                 int16 glyphPropertiesId
		///             }
		///         }
		///     }
		/// }
		/// </summary>
		SMSG_TALENTS_INFO = 1216,
		/// <summary>
		/// lua_LearnPreviewTalents
		/// int count
		/// for (count)
		/// {
		///     int talentId
		///     int rank
		/// }
		/// </summary>
		CMSG_LEARN_PREVIEWED_TALENTS = 1217,
		/// <summary>
		/// lua_LearnPreviewTalents
		/// int64 petGuid
		/// int count
		/// for (count)
		/// {
		///     int talentId
		///     int rank
		/// }
		/// </summary>
		CMSG_PET_LEARN_PREVIEWED_TALENTS = 1218,
		UMSG_UNKNOWN_1219 = 1219, // not found
		UMSG_UNKNOWN_1220 = 1220, // not found
		UMSG_UNKNOWN_1221 = 1221, // not found
		UMSG_UNKNOWN_1222 = 1222, // not found
		/// <summary>
		/// battleground pet related
		/// only useful if the player is currently in an arena
		/// </summary>
		SMSG_ARENA_OPPONENT_UPDATE = 1223,
		/// <summary>
		/// if != 0, broadcasts ERR_ARENA_TEAM_CHANGE_FAILED_QUEUED
		/// </summary>
		SMSG_ARENA_TEAM_CHANGE_FAILED_QUEUED, // int, used as a bool. 

		UMSG_1225 = 1225, // not found in client 9733
		UMSG_1226 = 1226, // not found in client 9733

		// begin 3.2.2

		UMSG_UNKNOWN_1227 = 1227,
		UMSG_UNKNOWN_1228 = 1228,
		SMSG_UNKNOWN_1229 = 1229,
		SMSG_UNKNOWN_1230 = 1230,
		CMSG_UNKNOWN_1231_ACK = 1231, // ack of 1230
		SMSG_UNKNOWN_1232 = 1232,
		CMSG_UNKNOWN_1233_ACK = 1233, // ack of 1232
		SMSG_UNKNOWN_1234 = 1234,
		SMSG_UNKNOWN_1235 = 1235,
		SMSG_UNKNOWN_1236 = 1236,

		/// <summary>
		/// for (19)
		/// {
		///     pguid itemId
		///     byte srcContainer
		///     byte srcSlot
		/// }
		/// </summary>
		CMSG_USE_EQUIPMENT_SET = 1237, // moved in 3.2.2, prev. 1227
		/// <summary>
		/// byte result (0 = ok, 4 = bags full, > 0 = error)
		/// </summary>
		SMSG_USE_EQUIPMENT_SET_RESULT = 1238, // moved in 3.2.2, prev. 1228

		// manu unks...
		UMSG_UNKNOWN_1239 = 1239,
		SMSG_UNKNOWN_1240 = 1240,
		CMSG_CHAR_FACTION_CHANGE = 1241,
		SMSG_CHAR_FACTION_CHANGE = 1242,
		UMSG_UNKNOWN_1243 = 1243,
		UMSG_UNKNOWN_1244 = 1244,
		UMSG_UNKNOWN_1245 = 1245,
		SMSG_UNKNOWN_1246 = 1246,
		CMSG_UNKNOWN_1247 = 1247,
		SMSG_UNKNOWN_1248 = 1248,
		SMSG_UNKNOWN_1249 = 1249,
		CMSG_UNKNOWN_1250 = 1250,
		CMSG_UNKNOWN_1251 = 1251,
		SMSG_UNKNOWN_1252 = 1252,
		SMSG_UNKNOWN_1253 = 1253,
		SMSG_UNKNOWN_1254 = 1254,
		CMSG_UNKNOWN_1255 = 1255,
		SMSG_UNKNOWN_1256 = 1256,
		UMSG_UNKNOWN_1257 = 1257,
		UMSG_UNKNOWN_1258 = 1258,
		MSG_SET_RAID_DIFFICULTY = 1259,
		UMSG_UNKNOWN_1260 = 1260,
		SMSG_TOGGLE_XP_GAIN = 1261, // bg xp gain
		SMSG_GMRESPONSE_DB_ERROR = 1262,
		SMSG_GMTICKET_GET_RESPONSE = 1263,
		CMSG_GMTICKET_RESOLVE_RESPONSE = 1264,
		SMSG_GMTICKET_RESOLVE_RESPONSE = 1265,
		SMSG_GMTICKET_CREATE_RESPONSE_TICKET = 1266,
		CMSG_GM_CREATE_TICKET_RESPONSE = 1267,
		CMSG_SERVERINFO = 1268,
		SMSG_SERVERINFO = 1269,
		CMSG_WORLD_STATE_UI_TIMER_UPDATE = 1270, // empty, just reply
		SMSG_WORLD_STATE_UI_TIMER_UPDATE = 1271, // ack ^
		CMSG_CHAR_RACE_CHANGE = 1272,
		CMSG_READY_FOR_ACCOUNT_DATA_TIMES = 1279,
		SMSG_QUERY_QUESTS_COMPLETED = 1280,
		SMSG_QUERY_QUESTS_COMPLETED_RESPONSE = 1281,
		CMSG_GM_REPORT_LAG = 1282, // lua: GMReportLag
		UMSG_UNKNOWN_1283 = 1283, // not found
		UMSG_UNKNOWN_1284 = 1284, // not found
		UMSG_UNKNOWN_1285 = 1285, // not found
		SMSG_CORPSE_IS_NOT_IN_INSTANCE = 1286, // ERR_CORPSE_IS_NOT_IN_INSTANCE = 0x1A8,
		UMSG_UNKNOWN_1287 = 1287, // not found
		CMSG_SET_ALLOW_LOW_LEVEL_RAID1 = 1288, // lua: SetAllowLowLevelRaid
		CMSG_SET_ALLOW_LOW_LEVEL_RAID2 = 1289, // lua: SetAllowLowLevelRaid
		SMSG_CAMERA_SHAKE = 1290, // uint32 SpellEffectCameraShakes.dbc index, uint32
		SMSG_UNKNOWN_1291 = 1291, // some item update packet?
		UMSG_UNKNOWN_1292 = 1292, // not found
		SMSG_REDIRECT_CLIENT = 1293, // uint32 ip, uint16 port, uint32 unk, uint8[20] hash
		CMSG_UNKNOWN_1294 = 1294, // something with networking
		SMSG_UNKNOWN_1295 = 1294, //
		CMSG_UNKNOWN_1296 = 1295, // something with networking
		SMSG_UNKNOWN_1297 = 1296, //
		CMSG_UNKNOWN_1298 = 1297, // something with networking
		UMSG_UNKNOWN_1299 = 1298, // not found
		SMSG_COMBAT_LOG_MULTIPLE = 1299, // SMSG, multi combatlog
		SMSG_LFG_OPEN_FROM_GOSSIP = 1300, // event EVENT_LFG_OPEN_FROM_GOSSIP (opens dungeon finder, probably for outdoor bosses)
		SMSG_UNKNOWN_1302 = 1301, // something with player movement (move event 58?)
		CMSG_UNKNOWN_1303 = 1302, // something with player movement (move event 58?)
		SMSG_UNKNOWN_1304 = 1303, // something with player movement (move event 58?), speed packet
		UMSG_UNKNOWN_1305 = 1304, // not found
		UMSG_UNKNOWN_1306 = 1305, // not found
		CMSG_COMMENTATOR_SKIRMISH_QUEUE_COMMAND = 1306,
		SMSG_UNKNOWN_1308 = 1307,
		SMSG_MOVES = 1308,
		SMSG_UNKNOWN_1310 = 1309,
		Maximum,
		Unknown,
	}

	/// <summary>
	/// Realm Auth Proof Error Codes
	/// </summary>
	public enum AccountStatus : byte
	{
		Success = 0,
		Failure = 1,                                ///< Unable to connect
		//Unknown1 = 2,                               ///< Unable to connect
		AccountBanned = 3,                         ///< This <game> account has been closed and is no longer available for use. Please go to <site>/banned.html for further information.
		InvalidInformation = 4,                               ///< The information you have entered is not valid. Please check the spelling of the account name and password. If you need help in retrieving a lost or stolen password, see <site> for more information
		InvalidInformation_2 = 5,                               ///< The information you have entered is not valid. Please check the spelling of the account name and password. If you need help in retrieving a lost or stolen password, see <site> for more information
		AccountInUse = 6,                         ///< This account is already logged into <game>. Please check the spelling and try again.
		PrepaidTimeLimitReached = 7,                     ///< You have used up your prepaid time for this account. Please purchase more to continue playing
		ServerFull = 8,                            ///< Could not log in to <game> at this time. Please try again later.
		WrongBuild = 9,                     ///< Unable to validate game version. This may be caused by file corruption or interference of another program. Please visit <site> for more information and possible solutions to this issue.
		UpdateClientVersion = 10,                          ///< Downloading
		//Unknown2 = 11,                               ///< Unable to connect
		AccountFrozen = 12,                        ///< This <game> account has been temporarily suspended. Please go to <site>/banned.html for further information
		//Unknown3 = 13,                               ///< Unable to connect
		//Unknown4 = 14,                               ///< Connected.
		ParentalControlRestriction = 15                        ///< Access to this account has been blocked by parental controls. Your settings may be changed in your account preferences at <site>
	}

	/// <summary>
	/// Login Error Codes
	/// </summary>
	public enum LoginErrorCode : byte
	{
		RESPONSE_SUCCESS = 0x00,
		RESPONSE_FAILURE = 0x01,
		RESPONSE_CANCELLED = 0x02,
		RESPONSE_DISCONNECTED = 0x03,
		RESPONSE_FAILED_TO_CONNECT = 0x04,
		RESPONSE_CONNECTED = 0x05,
		RESPONSE_VERSION_MISMATCH = 0x06,

		CSTATUS_CONNECTING = 0x07,
		CSTATUS_NEGOTIATING_SECURITY = 0x08,
		CSTATUS_NEGOTIATION_COMPLETE = 0x09,
		CSTATUS_NEGOTIATION_FAILED = 0x0A,
		CSTATUS_AUTHENTICATING = 0x0B,

		AUTH_OK = 0x0C,
		AUTH_FAILED = 0x0D,
		AUTH_REJECT = 0x0E,
		AUTH_BAD_SERVER_PROOF = 0x0F,
		AUTH_UNAVAILABLE = 0x10,
		AUTH_SYSTEM_ERROR = 0x11,
		AUTH_BILLING_ERROR = 0x12,
		AUTH_BILLING_EXPIRED = 0x13,
		AUTH_VERSION_MISMATCH = 0x14,
		AUTH_UNKNOWN_ACCOUNT = 0x15,
		AUTH_INCORRECT_PASSWORD = 0x16,
		AUTH_SESSION_EXPIRED = 0x17,
		AUTH_SERVER_SHUTTING_DOWN = 0x18,
		AUTH_ALREADY_LOGGING_IN = 0x19,
		AUTH_LOGIN_SERVER_NOT_FOUND = 0x1A,
		AUTH_WAIT_QUEUE = 0x1B,
		AUTH_BANNED = 0x1C,
		AUTH_ALREADY_ONLINE = 0x1D,
		AUTH_NO_TIME = 0x1E,
		AUTH_DB_BUSY = 0x1F,
		AUTH_SUSPENDED = 0x20,
		AUTH_PARENTAL_CONTROL = 0x21,
		AUTH_LOCKED_ENFORCED = 0x22,

		REALM_LIST_IN_PROGRESS = 0x23,
		REALM_LIST_SUCCESS = 0x24,
		REALM_LIST_FAILED = 0x25,
		REALM_LIST_INVALID = 0x26,
		REALM_LIST_REALM_NOT_FOUND = 0x27,

		ACCOUNT_CREATE_IN_PROGRESS = 0x28,
		ACCOUNT_CREATE_SUCCESS = 0x29,
		ACCOUNT_CREATE_FAILED = 0x2A,

		CHAR_LIST_RETRIEVING = 0x2B,
		CHAR_LIST_RETRIEVED = 0x2C,
		CHAR_LIST_FAILED = 0x2D,

		CHAR_CREATE_IN_PROGRESS = 0x2E,
		CHAR_CREATE_SUCCESS = 0x2F,
		CHAR_CREATE_ERROR = 0x30,
		CHAR_CREATE_FAILED = 0x31,
		CHAR_CREATE_NAME_IN_USE = 0x32,
		CHAR_CREATE_DISABLED = 0x33,
		CHAR_CREATE_PVP_TEAMS_VIOLATION = 0x34,
		CHAR_CREATE_SERVER_LIMIT = 0x35,
		CHAR_CREATE_ACCOUNT_LIMIT = 0x36,
		CHAR_CREATE_SERVER_QUEUE = 0x37,
		CHAR_CREATE_ONLY_EXISTING = 0x38,
		CHAR_CREATE_EXPANSION = 0x39,
		CHAR_CREATE_EXPANSION_CLASS = 0x3A,
		CHAR_CREATE_LEVEL_REQUIREMENT = 0x3B,
		CHAR_CREATE_UNIQUE_CLASS_LIMIT = 0x3C,
		CHAR_CREATE_CHARACTER_IN_GUILD = 0x3D,
		CHAR_CREATE_RESTRICTED_RACECLASS = 0x3E,
		CHAR_CREATE_CHARACTER_CHOOSE_RACE = 0x3F,
		CHAR_CREATE_CHARACTER_ARENA_LEADER = 0x40,
		CHAR_CREATE_CHARACTER_DELETE_MAIL = 0x41,
		CHAR_CREATE_CHARACTER_SWAP_FACTION = 0x42,
		CHAR_CREATE_CHARACTER_RACE_ONLY = 0x43,
		CHAR_CREATE_CHARACTER_GOLD_LIMIT = 0x44,
		CHAR_CREATE_FORCE_LOGIN = 0x45,

		CHAR_DELETE_IN_PROGRESS = 0x46,
		CHAR_DELETE_SUCCESS = 0x47,
		CHAR_DELETE_FAILED = 0x48,
		CHAR_DELETE_FAILED_LOCKED_FOR_TRANSFER = 0x49,
		CHAR_DELETE_FAILED_GUILD_LEADER = 0x4A,
		CHAR_DELETE_FAILED_ARENA_CAPTAIN = 0x4B,

		CHAR_LOGIN_IN_PROGRESS = 0x4C,
		CHAR_LOGIN_SUCCESS = 0x4D,
		CHAR_LOGIN_NO_WORLD = 0x4E,
		CHAR_LOGIN_DUPLICATE_CHARACTER = 0x4F,
		CHAR_LOGIN_NO_INSTANCES = 0x50,
		CHAR_LOGIN_FAILED = 0x51,
		CHAR_LOGIN_DISABLED = 0x52,
		CHAR_LOGIN_NO_CHARACTER = 0x53,
		CHAR_LOGIN_LOCKED_FOR_TRANSFER = 0x54,
		CHAR_LOGIN_LOCKED_BY_BILLING = 0x55,
		CHAR_LOGIN_LOCKED_BY_MOBILE_AH = 0x56,

		CHAR_NAME_SUCCESS = 0x57,
		CHAR_NAME_FAILURE = 0x58,
		CHAR_NAME_NO_NAME = 0x59,
		CHAR_NAME_TOO_SHORT = 0x5A,
		CHAR_NAME_TOO_LONG = 0x5B,
		CHAR_NAME_INVALID_CHARACTER = 0x5C,
		CHAR_NAME_MIXED_LANGUAGES = 0x5D,
		CHAR_NAME_PROFANE = 0x5E,
		CHAR_NAME_RESERVED = 0x5F,
		CHAR_NAME_INVALID_APOSTROPHE = 0x60,
		CHAR_NAME_MULTIPLE_APOSTROPHES = 0x61,
		CHAR_NAME_THREE_CONSECUTIVE = 0x62,
		CHAR_NAME_INVALID_SPACE = 0x63,
		CHAR_NAME_CONSECUTIVE_SPACES = 0x64,
		CHAR_NAME_RUSSIAN_CONSECUTIVE_SILENT_CHARACTERS = 0x65,
		CHAR_NAME_RUSSIAN_SILENT_CHARACTER_AT_BEGINNING_OR_END = 0x66,
		CHAR_NAME_DECLENSION_DOESNT_MATCH_BASE_NAME = 0x67
	}
}